我有一个基本的表格,如下:
<table>
<tbody>
<tr>
<td>Column 1</td>
<td>Column 2</td>
</tr>
</tbody>
</table>
在行上我有一个带有jQuery的双击功能:
$('tr').live('dblclick',function(){
dosomething();
return false;
});
我还有一个名为tablednd的插件,它在行上使用mousedown / up函数。 双击会导致单元格上的文本选择。
我该如何防止这种情况?
答案 0 :(得分:10)
您不能使用select()
事件,因为它仅限于输入元素。
相反,请在preventDefault()
事件中尝试selectstart
...
$('tr').bind('selectstart', function(event) {
event.preventDefault();
});
或者,您可以使用CSS ...
tr {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
答案 1 :(得分:0)
尝试更改
$('tr').live('dblclick',function(){
dosomething();
return false;
});
到
$('tr').live('dblclick',function(e){
e.preventDefault();
dosomething();
return false;
});
这应该可以防止双击在浏览器默认情况下执行任何操作。您应该在所有浏览器中测试此代码,但不确定它是否可以在任何地方使用。