jQuery .on() 綁定事件無效


前幾天,要在移動端實現一系列的功能,用 HTML + JS。

按照以往的思路,事件綁定就直接 $(document).on "click", "selector", ()-> 上了。

結果到了移動端打開頁面,發現綁定的事件全都沒有綁定上,按鈕點擊無效,滑動不反應。百思不得其解。

后來想了想,難道是因為綁定的時候頁面還沒有 ready?於是又把事件綁定全都寫在了 $(document).ready ()-> 中。

刷新移動端瀏覽器,問題並沒有被解決。

然后我就想到,如果直接在目標元素上綁定事件是否可以成功呢?於是把所有的 $(document).on "click", "selector", ()-> 換成了 $("selector").on "click", ()->,重新打開移動端瀏覽器,刷新頁面,結果真的成了!

難道是冒泡攔截的這種事件處理機制不起作用?於是把之前代碼里的 $(document) 全部替換成目標元素的父元素,依舊使用 $("parent").on "click", "selector", ()-> 這樣的辦法,結果居然也是可以的。

那么看來,就是在移動端上,$(document) 上綁定事件的確是有問題的,也許這只是 jQuery 的一個 bug 也說不定。限於時間,就沒有繼續深究了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM