我的页面的一部分需要双击,这会产生不良影响,有时用户会无意中突出显示页面上的某些文字。
真的很邋but,但除了使用图片而不是文字之外,还有一种巧妙的方法可以阻止这种情况发生吗?
由于
答案 0 :(得分:13)
这是css禁用文本选择。 How to disable text selection highlighting using CSS?
-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;
答案 1 :(得分:2)
正如@arunes建议的那样,对于大多数浏览器,您可以使用CSS执行此操作。但是我已经读过,这不适用于IE 6-8(至少)。因此,您可能需要以下内容:
document.getElementById("divDoubleClick").onselectstart = function() { return false; };
答案 2 :(得分:2)
这对我有用
正如建议的那样把css样式放在
中body, div
{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: -moz-none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
还添加这些以允许在表单字段中进行选择
input, textarea, .userselecton
{
-webkit-touch-callout: text;
-webkit-user-select: text;
-khtml-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
-o-user-select: text;
user-select: text;
}
注意-moz-none需要或输入的reenable不起作用。
对于IE我添加
<script type="text/javascript">
window.addEvent( "domready", function()
{
document.addEvent( "selectstart", function(e)
{
if ( (e.target.tagName == "INPUT") ||
(e.target.tagName == "TEXTAREA") ||
(e.target.hasClass("userselecton")))
{
return true;
}
return false;
} );
} );
</script>
这不仅可以防止选择背景文本,还可以选择输入字段和您放置userseleton类的元素。