Предотвращение контекстного меню по умолчанию при длительном нажатии / длительном нажатии в мобильном Safari (iPad / iPhone)

Для веб-сайта я хочу показать пользовательское контекстное меню, когда пользователь "долго нажимает". экран. Я создалjQuery Longclick слушатель в моем коде, чтобы показать пользовательское контекстное меню. Отображается контекстное меню, но также отображается контекстное меню iPad по умолчанию! Я пытался предотвратить это, добавивpreventDefault() на событие в моем слушателе, но это не работает:

function showContextMenu(e){
  e.preventDefault();
  // code to show custom context menu
}

$("#myId").click(500, showContextMenu);

Questions

Can you prevent the iPad's default context menu to show? Can it by done using the jQuery Longclick plugin?

Плагин Longclick имеет некоторую специфическую обработку для iPad (исходя из этого фрагментаэто исходный код):

if (!(/iphone|ipad|ipod/i).test(navigator.userAgent)){
  $(this)
  .bind(_mousedown_, schedule)
  .bind([_mousemove_, _mouseup_, _mouseout_, _contextmenu_].join(' '), annul)
  .bind(_click_, click)
}

Поэтому я предполагаю, что это отвечает на мой второй вопрос (при условии, что плагин использовал правильное событие).

Ответы на вопрос(6)

Ваш ответ на вопрос