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

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

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

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

Вопросы

Можете ли вы предотвратить iPad?контекстное меню по умолчанию, чтобы показать?Можно ли это сделать с помощью плагина jQuery Longclick?

Плагин 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)

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