jQuery是一個廣泛使用的JavaScript庫,其中的click()方法可以幫助開發(fā)者添加單擊事件,實現(xiàn)頁面的動態(tài)效果。比較常見的情況是,頁面上有多個元素綁定了click事件,此時就需要考慮點擊的順序問題。
jQuery中click()方法實際上是對JavaScript中的addEventListener事件進行了封裝。這時,如果多個元素都綁定了click事件,那么它們的執(zhí)行順序并不能保證,jQuery也無法對其進行掌控。
//示例代碼 $("#elem1").click(function(){ alert("點擊了第一個元素"); }); $("#elem2").click(function(){ alert("點擊了第二個元素"); });
在上述代碼中,若先點擊第一個元素,彈出“點擊了第一個元素”的alert提示框;若先點擊第二個元素,彈出“點擊了第二個元素”的alert提示框。順序并不確定。
如果需要保證順序,那么就應該使用回調(diào)函數(shù)來解決。
//示例代碼 $("#elem1").click(function(){ alert("點擊了第一個元素"); $("#elem2").trigger("click"); }); $("#elem2").click(function(){ alert("點擊了第二個元素"); });
在上述代碼中,點擊第一個元素時,會先彈出“點擊了第一個元素”的alert提示框,然后自動觸發(fā)了第二個元素的click事件,這時又會彈出“點擊了第二個元素”的alert提示框。
總的來說,點擊順序是不確定的,但通過回調(diào)函數(shù)可以實現(xiàn)控制點擊順序,更好地實現(xiàn)頁面效果。