禁用JavaScript中的文本选择器
Disable Text Selector In JavaScript
防止默认
在上面的链接中,它描述了如何防止JavaScript中的默认行为,但只向您展示了如何禁用所有默认行为。
我只想禁用文本选择/上下文菜单
我该怎么做?还是我走错了路?
这是必要的,原因如下
- 禁止在剧本上粘贴/复制
- 当使用自动完成时,文本选择器会弹出,非常烦人,有时还会妨碍
这种烦恼是由J Query自动选择引起的,当它显示黑莓中的文本选择时,它会在尝试触摸选择时挡住去路。
如果通过添加填充顶部来解决问题: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;
}
尝试了上面的代码感谢一个良好的堆栈溢出!这解决了浏览器(例如chrome)上的问题,但没有解决web作品播放簿应用程序上的问题。这也完全禁用了编辑/输入,这是不好的。
我认为您不需要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;
}
jsFiddle此处
编辑:要允许在编辑框上键入内容,同时禁用文本选择,可以使用http://jsfiddle.net/ruisoftware/aKkSx/3/基本上撤消jQuery select()事件上的文本选择。这不是最干净的方式,但可能会为你指明正确的方向。
在css文件中包含以下行。
-webkit-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
user-select: none;
也可以内联处理。我认为CSS解决方案更好,但我总是想知道所有选项:
<element oncontextmenu="return false">
<input onselect="return false"> <!-- only <input>'s though... -->
为了防止选择文本,我认为你必须使用CSS或JS(监听拖动文本)或使用图像
请注意,浏览器显示的所有内容都可以由用户访问,因此阻止用户选择文本不会阻止他使用Chrome inspect元素从源代码中删除您的解决方案或从源代码复制粘贴。
相关文章:
- jquery日期选择器显示与值不同的文本
- 如何使用颜色选择器来更改背景中的文本
- Javascript:Unicode符号选择器(用于将数学符号添加到文本区域)
- 检查选择器在jQuery中是否包含文本(即不是媒体)
- jQuery UI日期选择器只响应第一个文本框
- 将“日期”设置为Jquery UI日期选择器输入文本框
- Javascript(jQuery)… 筛选选择器中文本中的字符
- 文本框值在从 Jquery 日期选择器中选择日期后不会发布
- 允许日期选择器使用文本输入字段
- jQuery-使用正文文本作为选择器
- 禁用JavaScript中的文本选择器
- 将日期选择器动态添加到文本框中
- Jquery日期选择器-我们如何将文本隐藏在日期选择器文本框中
- 如何放置日期范围从周选择器用于两个文本输入
- 如何在附有日期选择器的文本框中设置默认日期(以这种格式“dd/mm/yy”)
- 是否有根据特异性对 CSS 选择器文本进行排序的 JS 库
- 如何添加日期选择器当我单击文本框
- 没有p标记的Div文本选择器
- 禁用PhoneGap应用程序中的文本选择器
- 我想要一个jquery文本选择器插件,它看起来像文本选择器