jQuery触发click vs click()?

Roy*_*mir 6 javascript jquery javascript-events

我有这个简单的代码: 这里

$(".btn").on('click',function () {

  $(".a").trigger('click');
});

$(".btn2").on('click',function () {

  $(".a")[0].click();
});
Run Code Online (Sandbox Code Playgroud)

我正试图模仿按下Anchor.

但是当我使用jQuery时trigger,它不起作用(为什么?)

当我使用"jsobj".click()func时,它确实有效.

阅读完jQuery文档后,我没有看到任何理由不应该这样做.

救命 ?

PS:我正在使用Chrome.

The*_*pha 6

实际上$(".a").trigger('click');触发了click事件,但这并不意味着它会点击链接,而是如果你已经拥有了一个事件处理程序,它将执行事件处理程序,即

$(".btn, .btn2").on('click',function () {
    $($(".a")[0]).trigger('click'); // first element
});

$(".a").on('click', function (e){
    alert(e.target);
});?
Run Code Online (Sandbox Code Playgroud)

给定的示例将触发the的click事件a并将执行已经使用该事件注册的处理程序(匿名函数)

$(".a").on('click', function (e){...});
Run Code Online (Sandbox Code Playgroud)

DEMO.