我使用jQuery编写了一些JavaScript代码,用户可以在不按住Shift键的情况下监听用户在页面的不同部分点击鼠标。
我的页面上有一张桌子。想法是用户可以通过单击选择表中的行。用户可以通过单击一行,按住shift并单击另一行来选择多行。 (这是用户期望选择多行的方式,但是按住shift键,对吗?)
无论如何,我的代码在Internet Explorer中工作,但我遇到了问题。我的代码读取用户选择,但浏览器同时突出显示两个鼠标单击位置之间的文本。
我如何才能使我的代码可以根据用户点击选择行,而浏览器不会选择文本?
更新我尝试了以下代码:
$('tr').bind('mousedown',function() { return false; } );
在我的页面中使用此代码,当我单击一行时,按住shift并单击另一行,两行之间的文本将突出显示。这就是我想要压制的东西。请注意,在我释放鼠标按钮之前,文本突出显示。
更新#2 我尝试了以下代码:
$('tr').bind('mousedown',function(e) {
e.preventDefault();
return false;
});
不幸的是,这似乎根本没有做任何事情。
答案 0 :(得分:1)
这是您要抑制的 mousedown 事件。
答案 1 :(得分:0)
规范会忽略事件处理程序的返回值(jQuery可能会添加其他内容)。
您可能正在寻找preventDefault
和returnValue
(后者的发明恰恰是因为忽略了处理程序的返回值。)
您可能还想查看CSS3属性扩展名-moz-user-select: none
。
答案 2 :(得分:0)
试试这个
$(function(){
$("tableSelector").bind('selectstart mousedown',function () {
return false;
});
});