禁用Chrome中的文字选择

时间:2010-07-30 20:13:12

标签: javascript webbrowser-control

我正在构建一个触摸屏信息亭,它将使用谷歌浏览器显示内容。除了用于在某些屏幕上输入名称信息的虚拟键盘外,没有键盘。用户无需在自助服务终端上选择任何内容。

当我将手指放在屏幕上的任何位置并拖动它时,蓝色选择字段开始出现。我必须废除它。

最初我使用的是Opera,它具有禁用文本选择的配置功能。我无法在Chrome中找到相应的内容。

任何人都知道Chrome中是否有此配置,或者Javascript会实现此目的?

2 个答案:

答案 0 :(得分:14)

为什么不简单地使用CSS来删除选择效果而不是依赖Javascript?

*::selection {
    background:transparent;
}

*::-moz-selection {
    background:transparent;
}

*::-webkit-selection {
    background:transparent;
}

/* DO NOT COMBINE... IF COMBINED, IT WILL REFUSE TO WORK */
/* FOR CHROME 5+ (untested in 4), ONLY ::SELECTION IS REQUIRED */

仍然可以进行选择,但不会有任何蓝色矩形。事实上,用户完全看不到选择。

对于我可以从你的场景中读到的内容,你只是试图摆脱选择矩形。

答案 1 :(得分:8)

我不知道Chrome中是否有配置设置,但快速google(source)将其设置为:

window.onload = function() {
  document.onselectstart = function() {return false;} // ie
  document.onmousedown = function() {return false;} // mozilla
}


/* You can attach the events to any element. In the following example
I'll disable selecting text in an element with the id 'content'. */

window.onload = function() {
  var element = document.getElementById('content');
  element.onselectstart = function () { return false; } // ie
  element.onmousedown = function () { return false; } // mozilla
}

PS:

只是测试一下,看看这是否会干扰任何onclick事件,但事实并非如此。