javascript - 另一个触发器完成后触发点击事件

标签 javascript jquery triggers callback

目前我通过以下方式触发点击事件。

$( "#elem1" ).trigger( "click" );

我需要触发2个点击事件,所以我简单地复制了上面的函数如下。

$( "#elem1" ).trigger( "click" );
$( "#elem2" ).trigger( "click" );

不幸的是,在第一个点击事件完成之前调用了第二个函数。所以我尝试使用回调方法来做到这一点:

$("#elem1").trigger("click", function() {
    $( "#editLayoutButton" ).trigger( "click" );
    alert('clicked');
});

第二次点击事件从未触发,因此我添加了一个警报功能用于调试目的。永远不会调用警报功能。

Fiddle

最佳答案

触发方法没有回调。

您可以使用 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/

相关文章:

javascript - 使用 viewbag 数据和 jquery json

MySQL - 如何自动记录表中的选择

mysql - mysql中的计算字段?

javascript - 为什么Ajax和SweetAlert不显示?

javascript - 如何为我的案例制作最好的 firestore 模式?

javascript - 在php中提交单选按钮变量

php - 触发器不起作用 - 在插入之前更改表以添加新列

javascript - 如何在 React js 中使用 axios 将一个或多个文件发送到 API?

javascript - 如何使用lightbox插件代替window.open?

javascript - 在没有服务器端的情况下构建报价数据库