這兩個事件看起來很相似,事實上卻非常的不同。
onselectstart
使用js禁止用戶選中網頁上的內容,IE及Chrome下的方法一樣。
使用onselectstart,例如
IE: <body onselectstart="return false">
Firefox:,控制css: body { -moz-user-select: none; }
onselectstart幾乎可以用於所有對象,其觸發時間為目標對象被開始選中時(即選中動作剛開始,尚未實質性被選中)。該事件常使用
於使目標對象“禁止變藍”,比如在很多地方當用戶雙擊時,一些元素會變成藍色(選中狀態),而當我們要避免這種情況時就可以使用該事
件,使用示例如下:
<div id="tmp" onselectstart="return false">flondon</div>
或者
<div id="tmp">flondon</div> <script type="text/javascript"> document.getElementById("tmp").onselectstart = function(){return false;}; </script>
或者
<div id="tmp">flondon</div> <script type="text/javascript"> if(document.addEventListener) { document.getElementById("tmp").addEventListener("selectstart", function(){return false;}, false); } else { document.getElementById("tmp").attachEvent("onselectstart", function(){return false;}); } </script>
注:
1、onselectstart事件不被input和textarea標簽支持,而onselect事件只被input和textarea支持。
2、Firefox/Opera不支持onselectstart事件Firefox中可以使用CSS "-moz-user-select:none"屬性來禁止文本選定
3、webkit瀏覽器可以使用“-khtml-user-select”,當然也可以使用onselectstart事件來阻止用戶選定元素內文本,如下
<div onselectstart="return false">accc</div>
onselect
onselect是在文本框(input、textarea)內的文本被選中時所觸發的事件,其觸發時間是在文本被選擇以后(即文本已經被選擇,已經
顯式的表現出來)。該事件只被input和textarea標簽支持。