如何陷阱“在新标签页中打开”点击jquery.click

时间:2009-06-15 10:55:42

标签: javascript jquery

我有一个jquery脚本,它将click事件附加到每个链接,在单击链接时运行操作。这一直很有效,但我得到了一些反对意见,这些反馈让我感到沮丧。

用户右键单击链接并在新选项卡中打开它。当她这样做时,jquery没有捕获点击。坏用户。我用cmd-click再现了这个。

有没有办法捕捉这些手势,或者这是一个固有的限制?

3 个答案:

答案 0 :(得分:2)

看看你是否可以以某种方式使用jQuery rightclick插件:

http://abeautifulsite.net/notebook/68

用法:

$(document).ready( function() {

    // Capture right click
    $("#selector").rightClick( function(e) {
        // Do something
    });

    // Capture right mouse down
    $("#selector").rightMouseDown( function(e) {
        // Do something
    });

    // Capture right mouseup
    $("#selector").rightMouseUp( function(e) {
        // Do something
    });

    // Disable context menu on an element
    $("#selector").noContext();

});

至于cmd-clickie位,我真的不确定。如果它有用,这里是jQuery热键插件:

http://www.webappers.com/2008/07/31/bind-a-hot-key-combination-with-jquery-hotkeys/

答案 1 :(得分:2)

所以你想捕获每一次点击?事件正确还是中间? mousedown event不应该这样做吗?

当然,她可以右键单击“复制链接位置”链接...

答案 2 :(得分:0)

我在firebug中看过jquery.rightclick.js代码。有mousedown和mouseup事件的修饰符如:

方altKey 中ctrlKey

所以你可以使用这两个修饰符:

if(evt.altKey || evt.ctrKey)

在jquery.rightclick.js