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