jQuery事件處理程序總是按照綁定的順序執行 - 任何方式都可以解決這個問題?jQuery事件處理程序總是以綁定的順序執行,這可能很煩人。例如:$('span').click(doStuff1);$('span').click(doStuff2);單擊跨度將導致doStuff1()觸發,然后doStuff2()。在我綁定doStuff2()時,我想在 doStuff1()之前選擇綁定它,但似乎沒有任何簡單的方法來執行此操作。我想大多數人會說,只需編寫如下代碼:$('span').click(function (){
doStuff2();
doStuff1();});但這只是一個簡單的例子 - 在實踐中,這樣做并不總是方便。在某些情況下,您要綁定事件,并且您綁定的對象已經有事件。在這種情況下,您可能只希望在任何其他現有事件之前觸發新事件。那么在jQuery中實現這一目標的最佳方法是什么?
3 回答
慕沐林林
TA貢獻2016條經驗 獲得超9個贊
您可以執行事件的自定義命名空間。
$('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');- 3 回答
- 0 關注
- 719 瀏覽
添加回答
舉報
0/150
提交
取消
