单击一个按钮可在另一个按钮上触发单击事件

Yar*_*rin 8 jquery jquery-on

我想点击按钮2来触发按钮1上的点击事件.

但是,当我尝试以下操作时,点击#2时没有任何反应:#1或#2没有警报.

HTML:

<div id="container">
<button id="button-1">Button 1</button>
<button id="button-2">Button 2</button>
</div>
Run Code Online (Sandbox Code Playgroud)

JS:

$('#container').on( "click", '#button-1', function(e){
    alert('CLICKED 1');
});
$('#container').on( "click", '#button-2', function(e){
    $('#button-1').trigger(e);
    alert('CLICKED 2');
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/8RnBf/7/

而且,如果我在触发器之前发出#2警报,我最终会得到一个无限循环.

http://jsfiddle.net/8RnBf/6/

为什么这不按预期工作?


更新:

我应该说清楚:原始事件必须通过.从本质上讲,我们正在尝试做这里所做的事情,但是委托事件

Kri*_*hna 10

使用

$('#button-1').trigger('click');
Run Code Online (Sandbox Code Playgroud)

要么

$('#button-1').trigger(e.type);
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/8RnBf/17/

代替

$('#button-1').trigger(e);
Run Code Online (Sandbox Code Playgroud)

JSFIDDLE DEMO

在这里阅读jquery .trigger()