今天在做一個(gè)DIV拖動(dòng)的效果清焕,發(fā)現(xiàn)在拖動(dòng)的時(shí)候會(huì)選中頁(yè)面中的文本竟终,于是找了一下JS清除選擇的內(nèi)容的相關(guān)信息蝠猬。
在得到的結(jié)果中發(fā)現(xiàn): 在谷歌、火狐统捶、Opera瀏覽器中榆芦,window對(duì)象有g(shù)etSelection屬性,而在IE中沒(méi)有喘鸟。IE中的document對(duì)象有selection屬性匆绣,因此清除頁(yè)面中選擇的內(nèi)容也就可以得到解決。
在谷歌什黑、火狐崎淳、Opera瀏覽器中我們可以很容易的通過(guò) window.getSelection().removeAllRanges() 清除選中的內(nèi)容,在IE中我們可以通過(guò) document.selection.empty() 來(lái)清除選中的內(nèi)容愕把。
于是我們可以這樣寫:
var clearSlct= "getSelection" in window ? function(){
window.getSelection().removeAllRanges();
} : function(){
document.selection.empty();
};
"getSelection" in window 用于判斷window對(duì)象中是否含有g(shù)etSelection屬性拣凹,如果為true則說(shuō)明當(dāng)前瀏覽器支持getSelection茵瘾,也即瀏覽器為非IE瀏覽器,反之亦然咐鹤。
如果我們想要禁止用戶選中頁(yè)面中的內(nèi)容拗秘,我們可以這樣做:
防止鼠標(biāo)選中內(nèi)容(當(dāng)鼠標(biāo)松開時(shí)清除選中內(nèi)容)
window.onmouseup=function(){
clearSlct();
}
防止通過(guò)鍵盤選中內(nèi)容(當(dāng)按鍵松開時(shí)清除選中內(nèi)容)
window.onkeyup=function(){
clearSlct();
}
使用jQuery的方法
$(window).on("mouseup keyup",function(){
clearSlct();
});
本文轉(zhuǎn)載自http://www.jb51.net/article/60520.htm