2011-04-09 198 views

回答

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做一些异步调用你还必须使函数接受它完成其工作后,将要执行的回调。

+0

的主要问题是我需要等待,直到代码执行BUTTON2的是完整的话,我需要继续按钮1某些代码,如果我写这个代码,我不能等到button2的代码执行完成时。 – Sandeep 2011-04-09 09:38:16

+0

@Sandeep:请参阅我的更新。 – 2011-04-09 09:42:23

+0

Okk Thnx,它会工作,我需要在我的代码中进行一些更改... – Sandeep 2011-04-09 09:47:54

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方法的其他对象的事件,传递你假装触发事件名称。

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

点击buttonone将触发buttontwo点击

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