2010-07-30 59 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