[英]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.