我要求阻止我的应用程序中的链接通过CTRL键溢出到新窗口/选项卡。我现在在页面中有以下内容:
$(document).click(function(e)
{
if (e.ctrlKey)
{
return (false);
}
});
这似乎对DIV点击工作正常,但链接点击完全被忽略。我想看看我是否可以单独使用CTRL按键,并使其看起来像简单的点击。那可能吗?一种强制事件keyCode为ctrl单独为零?
答案 0 :(得分:2)
您可以使用:
$('a').click(function(e) {
if(e.ctrlKey) return false;
});
选中演示:http://jsfiddle.net/gTG6Q/
注意:用户仍然可以在新标签页中右键单击并打开链接。为了防止这种情况,您还需要否定contextmenu
事件。
答案 1 :(得分:1)
通过“文档”,以及稍后可以通过AJAX添加的元素,使用这个简单的单行: - 复制代码
$(document).on("click", "*", function(e) {
if (e.ctrlKey) return false;
});
如果您的jQuery版本低于v1.7,则使用.live()而不是.on()(只需将单词从“on”更改为“live”)。