我有一個可拖動的(jQuery UI)元素,上面有「已取消」文本。這是我的意思:如何取消選擇使用JavaScript或jQuery的文本?
$('#main').draggable({
cancel: '#main>* *',
start: function(){
// deselect text
}
});
當我拖動元素,我經常選擇文本意外。我想在元素被拖動時取消選擇文本。
我有一個可拖動的(jQuery UI)元素,上面有「已取消」文本。這是我的意思:如何取消選擇使用JavaScript或jQuery的文本?
$('#main').draggable({
cancel: '#main>* *',
start: function(){
// deselect text
}
});
當我拖動元素,我經常選擇文本意外。我想在元素被拖動時取消選擇文本。
清除文檔選擇document.selection.empty();
喜歡的東西:
$('#main').draggable({
cancel: '#main>* *',
start: function(){
// deselect text
document.selection.empty();
}
});
要取消一切,你可以使用:
document.getSelection().removeAllRanges();
這樣工作的方式更好,因爲我發現如果沒有找到選定的文本,檢查的答案會拋出異常。 – 2012-11-01 19:53:54
的jQuery UI現在包括.disableSelection()
,你可以用它來防止文本從你被選中的元素裏面。它的API文檔並不是非常有用,但是:http://api.jqueryui.com/disableSelection/
另外,Eric G的答案在創建我自己的「文本突出顯示」工具時證明是非常有幫助的 - 正如勞倫斯所言,它不會拋出如果沒有選擇文本,則顯示錯誤。
disableSelection已被棄用(如果你只做了一些測試,你會很快發現它不起作用) – 2013-07-25 13:08:13
'''document.selection'在'FF'和'Chrome'中都是未定義的。改爲使用'document.getSelection()'。 – Max 2013-07-18 08:44:19
請看下面正確的答案,發佈者爲「Eric G」 – gmsi 2018-01-23 21:18:39