禁用在 HTML 元素中选择文本
Disable selecting text inside HTML element
我为用户添加了拖动选择文本进行复制的选项(使用 CSS 属性 user-select
(。问题是它还从其他 HTML 元素复制文本:
<div class='select'>text</div>
<div class='no-select'>
<b>no-select text</b>
</div>
<div class='select'>text</div>
所以我得到:
text
no-select text
text
有什么想法吗?
您可以使用
:before
或:after
伪元素来实现此目的:
.HTML
<div class="select">text</div>
<div class="no-select">
<strong data-text="no-select text">no-select text</strong>
</div>
<div class="select">text</div>
.CSS
div.no-select > strong[data-text]:after {
content: attr(data-text);
}
JSFiddle Demo
.no-select{ user-select: none; }
您可以使用user-select: none
来实现此目的。只需注意兼容性,(http://caniuse.com/user-select-none(注意您必须为-ms-
、-moz-
和-webkit-
提供供应商前缀。
请记住,如果 1( 用户使用的浏览器不支持此 CSS,或 2( 他们查看 HTML 源代码,他们仍然可以复制文本。
相关文章:
- 用于选择/文本框操作的JavaScript
- 以编程方式选择文本Mobile Safari
- Firefox输入可以't在选择文本时滚动
- 如何在javascript中取消选择文本框
- 如何在html中打印选择文本
- SVG元素——处理和选择文本
- 选择文本并添加到本地存储
- 选择“p文本jquery”
- 为什么火狐在我更改 innerHTML 时会选择文本
- 根据换行符选择文本
- 如何按从当前单词到段落中该句子(.)结尾的范围选择文本
- 单击按钮时选择文本
- JavaScript 触发器事件在 Android 上选择文本
- .val() 选择文本而不是值字符串,当网页动态编辑源 html
- 为什么不用特殊字符替换选择文本,以及如何删除此特殊字符
- 使用链接多次选择文本
- 使用jQuery在焦点上选择文本框是't在移动浏览器中工作
- Safari存在文本输入问题,用户输入时会选择文本,导致文本丢失
- Bootstrap下拉菜单-仅复选框不选择文本
- 使用.on的多个下拉菜单选择文本仅适用于第一个下拉菜单