.click() 事件,当“在新标签页/窗口中打开”时

.click() event when 'Open in new tab/window'

本文关键字:窗口 在新标签页 事件 click 新标签 标签      更新时间:2023-09-26

当我在<a>标签上使用.click()时,该事件仅在我单击元素时才有效。 否则,如果用户右键单击>在新窗口中打开"或"在新选项卡中打开",则不会触发click()事件。

所以,我的问题是...当用户右键单击>在新选项卡/窗口中打开时,如何触发click()事件?

这是 HTML:

<a href="url">Click Me</a>

这是 Js:

$("a").click(function(){
  alert('You clicked me!');
});

您可以尝试以下代码,但请记住,更改 UI 不是一个好主意:

var addEvent = (document.addEventListener) ?
    function(target,event,fn){
        if(target) return target.addEventListener(event,fn,false);
    }:
    function(target,event,fn){
        if(target) return target.attachEvent(('on' + event),fn);
    },
allLinks = document.links || document.getElementsByTagName('a');
for(var i=0;i<allLinks.length;i++)
    addEvent(allLinks[i],'mouseup',function(e){
        var e = e  || event;
        if(e.which===3){
            alert('Open in new tab/window');
            e.preventDefault();
            return false;
        }
    });