繁体   English   中英

Chrome:“在新标签页中打开链接”没有触发点击事件?

[英]Chrome: "open link in new tab" not firing the click event?

我正在开发一个 Chrome 扩展程序,当在网页中单击<td>标签时,它会执行某些操作。

这是一些示例代码:

HTML:

<table>
    <tr>
        <td id="mytest"><a href="http://blablabla.com">Foo Bar</a></td>
    </tr>
</table>

Javascript:

var myTd = document.getElementById("mytest");
myTd.addEventListener("click", function() {
    localStorage["foobar"] = 1;
});

当我单击链接时, localStorage键被设置,如果我用鼠标中键单击它,它也会设置键(并在新选项卡中打开链接)。

问题是当我使用右键单击并“在新选项卡中打开链接”时。 在这种情况下,单击事件似乎不会被触发,因此不会设置localStorage键。

我错过了什么吗? 有什么办法可以使右键单击->“在新选项卡中打开链接”触发单击事件?

请注意,我不想将侦听器添加到<a>节点,因为我正在处理的真实 HTML 中存在一些复杂性。

好问题...

浏览器上没有右键单击事件,chrome 发送事件 mousedown、mouseup 和 contextmenu,

我发现以下网页非常有用,虽然我没有检查右键部分,但对事件链的一般描述非常忠实。

快速参考: http : //unixpapa.com/js/mouse.html

使用mousedown事件代替click

var myTd = document.getElementById("mytest");
myTd.addEventListener("mousedown", function() {
    localStorage["foobar"] = 1;
});

这样即使用户选择“在新选项卡中打开链接”,它仍然有效

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM