通过单击另一个按钮委派按钮单击事件

时间:2011-04-09 09:20:59

标签: javascript jquery

我想通过单击另一个按钮来激活HTML按钮单击事件,任何人都可以帮助我使用代码,我正在使用jQuery库..

4 个答案:

答案 0 :(得分:3)

你的意思是这样的吗?

$('#button1').click(function() {
    $('#button2').click();
});

如果在未传递参数的情况下调用click,它将触发该元素上的click事件。

Documentation is helpful

关于您的评论的更新:

你有这个问题吗?我的小测试表明代码是按顺序执行的,这意味着触发点击后的代码在点击处理程序之后执行。但也许我的处理程序不够复杂......

如果确实遇到问题,可以将#button2点击处理程序中执行的所有代码放在自己的函数中,并在#button1点击处理程序中调用此代码:

function lotsOfWork() {

}

$('#button2').click(lotsOfWork);

$('#button1').click(function() {
    lotsOfWork();
    // more stuff here
});

如果lotsOfWork正在进行一些异步调用,则还必须使该函数接受将在完成其工作后执行的回调。

答案 1 :(得分:1)

尝试这样的事情:

<input type="button" id="btn1" value="click A">
<input type="button" id="btn2" value="click B">
<script>
$(function(){
    $('#btn1').click(function(){
        $('#btn2').trigger('click');
    })
})
</script>

触发其他对象的事件,你只需要调用.trigger方法,传递你假装要触发的事件名称。

答案 2 :(得分:1)

$('#buttonone').click(function(){
  $('#buttontwo').trigger('click')
})

点击buttonone将触发点击buttontwo

答案 3 :(得分:0)

$(function(){
    $("#id_btn").click(function(){
                call your function for 2nd button
    });
});
or
$('#id_btn').bind('click', function() {
    $('#id_btn').trigger('click');
    });