2014-10-08 38 views
0

我在寫一個拖放腳本。按住鼠標並沿着頁面移動它的問題是它開始選擇文本。我找到了一種方法來防止這種呼叫...Internet Explorer中的removeAllRanges()

var selection = window.getSelection(); 
selection.removeAllRanges(); 

...當移動鼠標。像往常一樣,我在使用Internet Explorer時遇到問題。有沒有相當於使這種方法在< IE9(無插件,純JavaScript)中工作?

提前致謝!

+0

可能重複()不工作在IE中](http://stackoverflow.com/questions/5421892/getselection-not-working-in-ie) – 2014-10-08 17:21:48

回答

2

在較老的IE中,整個選擇模型完全不同。沒有window.getSelection()Range對象在現代瀏覽器中。在實現IE中的選擇和範圍時,您必須熟悉TextRange Objects等。< 9.

但是,您的IE問題可以用簡單的方法解決。將onselectstart事件附加到window(或您需要的任何元素)。在處理程序中阻止默認操作並取消冒泡。事情是這樣的:

window.attachEvent('onselectstart', function (e) { 
    e.returnValue = false; 
    e.cancelBubble = true; 
    return false; 
} 
+1

很好的回答!謝謝! – Ood 2014-10-08 18:06:16