长按禁用 iPad / Safari 上下文菜单
Posted
技术标签:
【中文标题】长按禁用 iPad / Safari 上下文菜单【英文标题】:Disable iPad / Safari context menu on long click 【发布时间】:2014-12-10 18:15:28 【问题描述】:我想禁用使用 iPad 按住链接时显示的“打开/在新选项卡中打开/添加到阅读列表/复制”上下文菜单。下面的代码禁用 PC 或 MacBook 上运行的浏览器中的上下文菜单。但是,在 iPad 上,上下文菜单会继续显示。
这是我正在使用的测试网页。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test Page</title>
<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
$("a").contextmenu(function(event)
event.preventDefault();
);
);
</script>
<style>
body
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
</style>
</head>
<body>
<a href=#>Test Link</a>
</body>
</html>
【问题讨论】:
【参考方案1】:body
-webkit-touch-callout: none;
应该这样做
【讨论】:
史蒂夫,感谢您的回答。我在上面代码的 html 标记中有这个。我在body标签中尝试过,但没有帮助。还有其他想法吗? 这似乎是 ios 8 测试版 webkit 中的一个错误,不知道为什么它仍然无法正常工作:[link]bugs.webkit.org/show_bug.cgi?id=136685以上是关于长按禁用 iPad / Safari 上下文菜单的主要内容,如果未能解决你的问题,请参考以下文章
在不禁用上下文菜单的情况下管理 UITextfiled 上的长按?
如何在 Chrome 的信息亭模式下禁用右键单击/长按的上下文菜单?