2016-02-22 2 views
0

Я хочу, чтобы поймать длинный контакт на мобильные телефоны, я написалсвязывания («ContextMenu») не работает для ИОС

$('.myObject').bind('contextmenu', function(e){ ... my code ... }); 

он работает на всех устройствах, кроме КСН Safari, сделать кто-нибудь знает, что это проблема, и как исправить?

ответ

0

Почему вы не используете мобильные телефоны jQuery taphold event вместо этого? Это буквально для этого. Таким образом, вместо написания:

$('.myObject').bind('contextmenu', function(e){ ... my code ... }); 

Вы бы написать:

jQuery(".selector").on("taphold", function(e) { ... your code ... }) 

Если идти по этому пути, не забудьте включить JQuery мобильный телефон!

Further reading here.

+0

это не маленький сайт, я работаю над большим приложением, и мы не используем Jquery мобильного телефона, так что я не могу добавить JQuery мобильный только для ловли долгий тап –

+0

Я не знаю, как размер сайт слишком важен для использования jQuery mobile. Насколько велики мы говорим здесь? Вы используете Кордову? Если это просто сайт, большой или нет, он не должен * добавлять более 200 мс к загрузке страницы, максимум. Вы можете использовать jQuery * и * jQuery Mobile без каких-либо проблем. Вам буквально нужно добавить только jQuery Mobile src по своему выбору, где бы вы ни загружали свои скрипты, а затем вы можете использовать функцию * taphold *. Если вы действительно этого захотите, вы можете использовать js 'mouseup',' mousedown' и методы таймера для этого, но это может вызвать нежелательное поведение. – TylerCompiler

Смежные вопросы