在Javascript中捕获点击和击键事件,覆盖默认行为



我使用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可能会添加其他内容)。

您可能正在寻找preventDefaultreturnValue(后者的发明正是因为处理程序的返回值被忽略)。

您可能还想查看CSS3属性扩展-moz-user-select: none

试试这个

$(function(){
  $("tableSelector").bind('selectstart mousedown',function () { 
      return false; 
  });
});

相关内容

  • 没有找到相关文章

最新更新