本文實例講述了JS清除選擇內容的方法。分享給大家供大家參考。具體分析如下:
今天在做一個DIV拖動的效果,發現在拖動的時候會選中頁面中的文本,於是找了一下JS清除選擇的內容的相關信息。
在得到的結果中發現: 在谷歌、火狐、Opera浏覽器中,window對象有getSelection屬性,而在IE中沒有。IE中的document對象有selection屬性,因此清除頁面中選擇的內容也就可以得到解決。
在谷歌、火狐、Opera浏覽器中我們可以很容易的通過 window.getSelection().removeAllRanges() 清除選中的內容,在IE中我們可以通過 document.selection.empty() 來清除選中的內容。
於是我們可以這樣寫:
var clearSlct= "getSelection" in window ? function(){ window.getSelection().removeAllRanges(); } : function(){ document.selection.empty(); };
"getSelection" in window 用於判斷window對象中是否含有getSelection屬性,如果為true則說明當前浏覽器支持getSelection,也即浏覽器為非IE浏覽器,反之亦然。
如果我們想要禁止用戶選中頁面中的內容,我們可以這樣做:
//防止鼠標選中內容(當鼠標松開時清除選中內容) window.onmouseup=function(){ clearSlct(); } //防止通過鍵盤選中內容(當按鍵松開時清除選中內容) window.onkeyup=function(){ clearSlct(); } //使用jQuery的方法 $(window).on("mouseup keyup",function(){ clearSlct(); });
希望本文所述對大家的javascript程序設計有所幫助。