javascript – 防止移动Safari(iPadiPhone)上的longpresslongclick的默认上下文菜单

javascript – 防止移动Safari(iPadiPhone)上的longpresslongclick的默认上下文菜单,第1张

概述对于网站,当用户“屏蔽”屏幕时,我想显示一个自定义上下文菜单。我在我的代码中创建了一个 jQuery Longclick监听器来显示一个自定义的上下文菜单。显示上下文菜单,但也显示 iPad’s default context menu!我试图通过在监听器中添加一个 preventDefault()来阻止这种情况,但是这不行: function showContextMenu(e){ e.pr 对于网站,当用户“屏蔽”屏幕时,我想显示一个自定义上下文菜单。我在我的代码中创建了一个 jQuery Longclick监听器来显示一个自定义的上下文菜单。显示上下文菜单,但也显示 iPad’s default context menu!我试图通过在监听器中添加一个 preventDefault()来阻止这种情况,但是这不行:

function showContextMenu(e){  e.preventDefault();  // code to show custom context menu}$("#myID").click(500,showContextMenu);

问题

>你可以阻止iPad的默认上下文菜单显示吗?
可以通过使用jquery Longclick插件吗?

Longclick插件对iPad有一些特定的处理方式(假设这个代码为it’s source code):

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

所以我假设这回答我的第二个问题(假设插件使用正确的事件)。

解决方法 感谢JDandChips为 pointing我的解决方案。它与longclick插件结合使用。为了文档,我会发布自己的答案,以显示我做了什么。

HTML:

<script type="text/JavaScript"        src="https://raw.github.com/pisi/Longclick/master/jquery.longclick-min.Js"></script><p><a href="http://www.Google.com/">Longclick me!</a></p>

JavaScript已经OK了:

function longClickHandler(e){  e.preventDefault();  $("body").append("<p>You longclicked. Nice!</p>");}$("p a").longclick(250,longClickHandler);

修复是将这些规则添加到样式表中:

body { -webkit-touch-callout: none !important; }a { -webkit-user-select: none !important; }

Disabled context menu example。

更新:jQuery Longclick插件似乎只适用于iPad上的Safari,而不是Google Chrome!我正在看这个。

更新2:由于我在Chrome中收到以下错误(由于https),所以我在“小提琴”的源代码中嵌入了Longclick JavaScript:

Refused to execute script from ‘07003’ because its MIME type (‘text/plain’) is not executable,and strict MIME type checking is enabled.

请参阅更新版本:http://jsfiddle.net/z9ZNU/53/

总结

以上是内存溢出为你收集整理的javascript – 防止移动Safari(iPad/iPhone)上的longpress/longclick的默认上下文菜单全部内容,希望文章能够帮你解决javascript – 防止移动Safari(iPad/iPhone)上的longpress/longclick的默认上下文菜单所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1086751.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存