2012-10-22 70 views
1

我有一个要求,防止我的应用程序中的链接溢出到新的窗口/标签通过CTRL键。我现在在我的页面中有以下内容:NULLify CTRL按链接点击

 $(document).click(function(e) 
     { 
      if (e.ctrlKey) 
      { 
       return (false); 
      } 
     }); 

这对于DIV点击似乎工作正常,但链接点击完全被忽略。我正在查看是否可以单独使用CTRL键,并使其看起来像简单的点击一样。那可能吗?一种强制事件keyCode仅用于ctrl的是零?

+0

您可以停止该事件并在没有Ctrl键的情况下发送一个新事件。 –

+1

为什么你比用户更了解他们是否应该在标签中打开该链接? –

+1

这是如何成为一项要求?有很多方法可以在新标签中打开链接... –

回答

2

您可以使用:

$('a').click(function(e) { 
    if(e.ctrlKey) return false; 
}); 

入住这演示http://jsfiddle.net/gTG6Q/

注:的用户仍然可以点击右键并在新标签中打开你的链接。为了防止这种情况发生,您还需要取消contextmenu事件。

1

通过“文件”,再加上元素可以在以后通过AJAX添加,使用这种简单的一行: - 复制代码

$(document).on("click", "*", function(e) { 
    if (e.ctrlKey) return false; 
}); 

如果你的jQuery的版本比V1.7更低然后使用.live()而不是.on()(只需将该词从“on”改为“live”)。