本文實例講述了JS清除選擇內容的方法。分享給大家供大家參考。具體分析如下:
今天在做一個DIV拖曳的效果,發現在拖曳的時候會選取頁面中的文本,於是找了一下JS清除選取的內容的相關資訊。
在得到的結果中發現: 在Google、火狐、Opera瀏覽器中,window物件有getSelection屬性,而在IE中沒有。 IE中的document物件有selection屬性,因此清除頁面中所選的內容也就可以解決。
在Google、火狐、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程式設計有所幫助。