在上面的链接中,它描述了如何防止JavaScript中的默认行为,但只显示了如何禁用所有默认值。
我只想禁用文本选择/上下文菜单
我该怎么做?或者我是以错误的方式解决这个问题?
由于以下原因,这是必要的
这种烦恼是由J Query自动选择引起的,当它显示黑莓中的文本选择在尝试触摸时选择了一个。
如果想通过添加padding-top来解决这个问题:30px;自动完成所以它在文本选择器下方,但想要一个更好的方法来做到这一点。
由于
.noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
尝试上面的代码,感谢堆叠好的overflower!这解决了浏览器上的问题(例如chrome),但没有在网页上播放书籍应用程序,这完全禁用了编辑/输入,这是不好的。
答案 0 :(得分:4)
我认为你不需要javascript来禁用文本选择,CSS就足够了:
.noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
修改强> 要在禁用文本选择的同时在编辑框中键入内容,可以使用此选项 http://jsfiddle.net/ruisoftware/aKkSx/3/ 基本上撤消jQuery select() event上的文本选择。不是最干净的方式,但可能会指出你正确的方向。
答案 1 :(得分:1)
在css文件中包含以下行。
-webkit-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
user-select: none;
答案 2 :(得分:0)
也可以内联处理。我认为CSS解决方案更好,但我总是想知道所有选项:
<element oncontextmenu="return false">
<input onselect="return false"> <!-- only <input>'s though... -->
为了防止选择文字,我认为你必须使用CSS或JS(听取拖动文字)或使用图像 请注意,用户可以访问浏览器显示的所有内容,因此阻止用户选择文本不会阻止他使用Chrome检查元素从源代码中删除解决方案或从源代码中复制粘贴。