我有一个链接,它使用ng href打开一个新的选项卡(为什么不是ng点击是一个涉及chrome弹出窗口拦截器的长话短说)。这个例子可以在这里找到。
现在我想添加在按下回车键时点击链接的功能,所以我添加了这个。。。
link: function() {
$(document).on("keyup", function(event) {
if (event.which == 13) {
$("#clicking").trigger('click');
}
});
}
所有东西都会在JS端调用,但选项卡永远不会打开。知道我该怎么做吗?
您可以通过向链接本身添加一个普通的onclick处理程序来确认您成功触发了链接的点击事件,但没有触发导航。
这是因为你试图解决的弹出窗口阻止程序不可能那么容易解决;浏览器区分用户发起的点击和javascript发起的点击正是出于这个原因。Mozilla文档,例如:
点击事件的冒泡不会导致元素启动导航,就好像接收到了真正的鼠标点击一样。
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click
其他浏览器的行为类似。