-1

在这里,我正在做一个基本的触发器示例,但 jquery 无法执行它。我知道 jquery 对这种触发器有一些问题,但没有任何解决方案。

代码演示:jsfiddle

4

4 回答 4

1

jQuery 或trigger.

为了让 jQuery 触发您的链接,jQuery 需要知道您首先为您的链接分配了一个点击处理程序

$('#link').click(function(){
    window.location = this.href;
});
​

工作示例

于 2012-06-15T08:51:31.147 回答
1
// 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);
});

演示

于 2012-06-15T08:52:18.383 回答
1

要触发点击对象,只需执行以下操作:

  $('#link').click();

这仅在 click() 函数已被 jQuery 绑定时才有效,但可能是您正在寻找的。

否则,如果您尝试使用 javascript 打开一个新窗口,请使用window.open('url','_blank','width=100,height=100');

window.location其他人发布的不同,这不会在新的目标窗口中打开。

除了上面的示例之外width,您还可以为打开的窗口设置更多属性。height

于 2012-06-15T08:52:19.560 回答
0

重要的是要记住 click() 不会触发链接上的默认行为,即使没有其他东西阻止它。因此,您不能单独使用 click() 来模拟用户单击链接并被带到另一个 url。

这就是为什么你需要附加一个事件处理程序来link处理点击事件

$('#link').click(function(){
    // navigate to page
});
于 2012-06-15T08:52:34.250 回答