我有一个可拖动的(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