双击<td>
时,如何阻止选择<td>
的内容?
如果我在双击后手动单击页面中的任意位置,则内容(通过双击选择)将被取消选中。
但是,如果我以编程方式单击该单击,则内容实际上保持选中状态......
$(".tableCell").dblclick(function(){
$("body").click();
});
这给出了相同的结果:
$(".tableCell").dblclick(function(){
return false;
});
FIDDLE: http://jsfiddle.net/eYpY6/1/
答案 0 :(得分:1)
借此SO回答:How to disable text selection highlighting using CSS?
您可以使用:
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
在CSS规则中,请参阅小提琴:http://jsfiddle.net/KyleMuir/eYpY6/2/
不需要JS:)
希望这有帮助。
答案 1 :(得分:1)
借用另一个答案:Prevent text selection after double click
$(document).ready(function(){
$(".tableCell").dblclick(function(){
clearSelection();
});
});
function clearSelection() {
if(document.selection && document.selection.empty) {
document.selection.empty();
} else if(window.getSelection) {
var sel = window.getSelection();
sel.removeAllRanges();
}
}
在这里小提琴:http://jsfiddle.net/eYpY6/3/
答案 2 :(得分:0)
有点晚了,但我想我会分享这个答案。您可以仅使用我在this JSFiddle中为this SO question编写的代码版本双击来禁用文本选择,{{3}}要求CSS(但我无法找到答案,所以给了一个Javascript答案,如果OP是可以的那个)。基本上,代码要求双击更改点击历史记录,然后以编程方式重新选择之前选择的内容。这是使用selectionStart
和selectionEnd
实现的。我确信这是一个更优雅的解决方案,但这就是我现在所拥有的。