我为同一个元素绑定了两个事件。让我们说按钮:
<button>Click</button>
<script>
/*First Event*/
$('button').click(function(){
/***Have some piece of code which gets the data that is used for next event***/
});
/*Second Event*/
$('button').click(function(){
/***do some operations with the data that has been fetched from the previous event***/
});
</script>
现在,只要在按钮上触发点击,就会同时调用两个事件。所以我无法实现我的目标。
我们可以限制事件应该在第一个事件完成其工作时被调用....
注意:以上代码是psuedo代码来解释我的问题..
答案 0 :(得分:1)
这两个处理程序实际上是按顺序调用的。但是,我们必须假设第一个涉及异步任务(可能是ajax),第二个处理程序需要第一个获取的数据。
秘诀是在一个处理程序中执行这两个任务,如下所示:
$('button').click(function(){
$.ajax({
//options
}).then(function(data) {
//do some operations with the data that has been fetched
});
});
答案 1 :(得分:0)
AFAIK你不能定义jQuery事件的顺序,但你可以使用手动调用或回调来实现相同的目标。