我在HTML/CSS/JS中構建菜單,我需要一種方法來防止菜單中的文本在雙擊時突出顯示。我需要一種方法將多個div的id傳遞給一個函數,並在其中突出顯示關閉。什麼是最好的方式來防止突出文字點擊其包含div在JavaScript中?
所以當用戶偶然(或故意)雙擊菜單時,菜單會顯示其子元素,但其文本不會突出顯示。
有很多腳本在網上流傳,但很多都顯得過時。最好的方法是什麼?
我在HTML/CSS/JS中構建菜單,我需要一種方法來防止菜單中的文本在雙擊時突出顯示。我需要一種方法將多個div的id傳遞給一個函數,並在其中突出顯示關閉。什麼是最好的方式來防止突出文字點擊其包含div在JavaScript中?
所以當用戶偶然(或故意)雙擊菜單時,菜單會顯示其子元素,但其文本不會突出顯示。
有很多腳本在網上流傳,但很多都顯得過時。最好的方法是什麼?
在(Mozilla的火狐,卡米諾,Safari瀏覽器,谷歌瀏覽器),你可以使用這個:
div.noSelect {
-moz-user-select: none; /* mozilla browsers */
-khtml-user-select: none; /* webkit browsers */
}
對於IE沒有CSS選擇,但你可以捕捉ondragstart事件,並返回false;
更新
該物業的瀏覽器支持自2008年以來
div.noSelect {
-webkit-user-select: none; /* Chrome all/Safari all */
-moz-user-select: none; /* Firefox all */
-ms-user-select: none; /* IE 10+ */
}
您可以:
如果你想這樣做,因爲軟DRM ,請放棄這個主意!人們可以控制+ a或只是閱讀來源。 – Oli 2008-09-26 12:41:50
希望這是你在找什麼。
<script type="text/javascript">
function clearSelection() {
var sel ;
if(document.selection && document.selection.empty){
document.selection.empty() ;
} else if(window.getSelection) {
sel=window.getSelection();
if(sel && sel.removeAllRanges)
sel.removeAllRanges() ;
}
}
</script>
<div ondblclick="clearSelection()">Some text goes here.</div>
你可以使用這個CSS簡單地隱藏選擇顏色(不支持IE):
#id::-moz-selection {
background: transparent;
}
#id::selection {
background: transparent;
}
擴大爲什麼你覺得有必要,以防止用戶的文本選擇? – 2009-05-09 15:58:33
我有一個類似的問題,發現這個有用: http://stackoverflow.com/questions/3169786/clear-text-selection-with-javascript – 2012-03-25 14:15:46