1

我需要防止我的应用程序中的链接通过 CTRL 键溢出到新窗口/选项卡。我现在在我的页面中有以下内容:

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

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

4

2 回答 2

2

您可以使用:

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

检查这个演示:http: //jsfiddle.net/gTG6Q/

注意:用户仍然可以右键单击并在新选项卡中打开您的链接。为了防止这种情况,您还需要否定该contextmenu事件。

于 2012-10-22T09:20:35.383 回答
1

通过“文档”,加上以后可能通过 AJAX 添加的元素,使用这个简单的单行:- 复制代码

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

If you're version of jQuery is lower than v1.7 then use .live() instead of .on() (just change the word from "on" to "live").

于 2012-10-22T20:29:18.337 回答