为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery事件处理程序总是按照绑定的顺序执行 - 任何方式都可以解决这个问题?

jQuery事件处理程序总是按照绑定的顺序执行 - 任何方式都可以解决这个问题?

慕桂英4014372 2019-11-23 13:15:16
jQuery事件处理程序总是按照绑定的顺序执行 - 任何方式都可以解决这个问题?jQuery事件处理程序总是以绑定的顺序执行,这可能很烦人。例如:$('span').click(doStuff1);$('span').click(doStuff2);单击跨度将导致doStuff1()触发,然后doStuff2()。在我绑定doStuff2()时,我想在 doStuff1()之前选择绑定它,但似乎没有任何简单的方法来执行此操作。我想大多数人会说,只需编写如下代码:$('span').click(function (){     doStuff2();     doStuff1();});但这只是一个简单的例子 - 在实践中,这样做并不总是方便。在某些情况下,您要绑定事件,并且您绑定的对象已经有事件。在这种情况下,您可能只希望在任何其他现有事件之前触发新事件。那么在jQuery中实现这一目标的最佳方法是什么?
查看完整描述

3 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

您可以执行事件的自定义命名空间。

$('span').bind('click.doStuff1',function(){doStuff1();});$('span').bind('click.doStuff2',function(){doStuff2();});

然后,当您需要触发它们时,您可以选择订单。

$('span').trigger('click.doStuff1').trigger('click.doStuff2');

要么

$('span').trigger('click.doStuff2').trigger('click.doStuff1');

此外,只需触发click按钮,它们按照绑定的顺序触发......所以你仍然可以

$('span').trigger('click');



查看完整回答
反对 回复 2019-11-24
  • 3 回答
  • 0 关注
  • 486 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信