jQuery事件處理程序總是按照綁定的順序執(zhí)行 - 任何方式都可以解決這個問題?jQuery事件處理程序總是以綁定的順序執(zhí)行,這可能很煩人。例如:$('span').click(doStuff1);$('span').click(doStuff2);單擊跨度將導(dǎo)致doStuff1()觸發(fā),然后doStuff2()。在我綁定doStuff2()時,我想在 doStuff1()之前選擇綁定它,但似乎沒有任何簡單的方法來執(zhí)行此操作。我想大多數(shù)人會說,只需編寫如下代碼:$('span').click(function (){
doStuff2();
doStuff1();});但這只是一個簡單的例子 - 在實(shí)踐中,這樣做并不總是方便。在某些情況下,您要綁定事件,并且您綁定的對象已經(jīng)有事件。在這種情況下,您可能只希望在任何其他現(xiàn)有事件之前觸發(fā)新事件。那么在jQuery中實(shí)現(xiàn)這一目標(biāo)的最佳方法是什么?
3 回答

慕少森
TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個贊
您可以執(zhí)行事件的自定義命名空間。
$('span').bind('click.doStuff1',function(){doStuff1();});$('span').bind('click.doStuff2',function(){doStuff2();});
然后,當(dāng)您需要觸發(fā)它們時,您可以選擇訂單。
$('span').trigger('click.doStuff1').trigger('click.doStuff2');
要么
$('span').trigger('click.doStuff2').trigger('click.doStuff1');
此外,只需觸發(fā)click按鈕,它們按照綁定的順序觸發(fā)......所以你仍然可以
$('span').trigger('click');
- 3 回答
- 0 關(guān)注
- 454 瀏覽
添加回答
舉報(bào)
0/150
提交
取消