目前我通过以下方式触发点击事件。
$( "#elem1" ).trigger( "click" );
我需要触发2个点击事件,所以我简单地复制了上面的函数如下。
$( "#elem1" ).trigger( "click" );
$( "#elem2" ).trigger( "click" );
不幸的是,在第一个点击事件完成之前调用了第二个函数。所以我尝试使用回调方法来做到这一点:
$("#elem1").trigger("click", function() {
$( "#editLayoutButton" ).trigger( "click" );
alert('clicked');
});
第二次点击事件从未触发,因此我添加了一个警报功能用于调试目的。永远不会调用警报功能。
最佳答案
触发方法没有回调。
您可以使用 setTimeout
来确保另一个触发器发生在第一次点击触发器之后。
$( "#elem1" ).trigger( "click" );
setTimeout(function(){
$('#elem2').trigger('click');
},1);
http://api.jquery.com/trigger/
另见:
How to run a callback function on a jQuery trigger("click")?
和
How do I detect a jquery trigger events completion?
关于javascript - 另一个触发器完成后触发点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33821357/