在这里,我正在做一个基本的触发器示例,但 jquery 无法执行它。我知道 jquery 对这种触发器有一些问题,但没有任何解决方案。
代码演示:jsfiddle
在这里,我正在做一个基本的触发器示例,但 jquery 无法执行它。我知道 jquery 对这种触发器有一些问题,但没有任何解决方案。
代码演示:jsfiddle
jQuery 或trigger
.
为了让 jQuery 触发您的链接,jQuery 需要知道您首先为您的链接分配了一个点击处理程序:
$('#link').click(function(){
window.location = this.href;
});
// you have to assign a click event handler for anchor tag
$('#link').on('click', function() {
window.location = this.href;
});
$('#btn').click(function(){
$('#link').trigger('click'); // or $('#link').click();
alert("I am alerting but link is not triggered");
});
单击不是锚定标记的默认行为。因此,如果您想要执行某些操作,则必须先将单击事件处理程序分配给锚定,然后再触发该事件。一个重要的想法是,在 jquery 触发任何事件之前,jquery 应该通知该事件。
$('#link').on('click', function() {
window.open(this.herf,this.target);
});
要触发点击对象,只需执行以下操作:
$('#link').click();
这仅在 click() 函数已被 jQuery 绑定时才有效,但可能是您正在寻找的。
否则,如果您尝试使用 javascript 打开一个新窗口,请使用window.open('url','_blank','width=100,height=100');
与window.location
其他人发布的不同,这不会在新的目标窗口中打开。
除了上面的示例之外width
,您还可以为打开的窗口设置更多属性。height
重要的是要记住 click() 不会触发链接上的默认行为,即使没有其他东西阻止它。因此,您不能单独使用 click() 来模拟用户单击链接并被带到另一个 url。
这就是为什么你需要附加一个事件处理程序来link
处理点击事件
$('#link').click(function(){
// navigate to page
});