2010-07-30 132 views
7

我正在构建将使用Google Chrome显示内容的触摸屏信息亭。除了虚拟键盘外,没有键盘可以在某些屏幕上弹出输入名称信息。用户无需在亭子上选择任何东西。在Chrome中禁用文本选择

当我将手指放在屏幕上的任何地方并拖动它时,蓝色选择区域开始出现。我必须解决这个问题。

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

任何人都知道在Chrome中是否有这样的配置,或者用什么样的Javascript来实现呢?

回答

8

我不知道是否有在Chrome浏览器这样的配置设置,但快速谷歌(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事件,事实并非如此。

+0

确实!!如果我长大了,他会成为你的。 在internet.com这是一个奇妙的资源....这样一个晦涩的网址难怪我从来没有找到它..;) – 2010-07-30 21:18:34

+0

@罗恩!并且,谢谢:) – 2010-08-02 13:29:12

+0

可能应该勾选为正确答案 – 2013-09-24 23:36:29

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 */ 

选择仍然是可能的,但不会有任何蓝色矩形。事实上,选择对用户来说是完全不可见的。

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

+0

这也适用,我喜欢CSS解决方案...我只是想出了,我试图杀死的其他行为是拖动图片在页面上的能力......寻找一个CSS解决方案,以及。 – 2010-07-30 21:47:32

+0

请注意,这并不能完全隐藏所有效果。如果用户选择文字,选择将不可见,为真。但是,如果他们尝试在选区内拖动手指,选定的文本将像平时一样开始在块中拖动。只是要记住。 – 2018-01-24 17:16:23