禁用Chrome中的文字选择

Ron*_*Ish 7 javascript webbrowser-control

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

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

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

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

And*_*ore 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 */
Run Code Online (Sandbox Code Playgroud)

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

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


小智 9

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

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
}
Run Code Online (Sandbox Code Playgroud)

PS:

刚测试看是否会干扰任何onclick事件,但事实并非如此.