關於iphone上點擊事件無效


事情緣由

由於工作需要,我自己寫了一個modal彈出框,彈出框顯示的時候,點擊屏幕則該框消失。

然后我利用jQuery的on方法把click事件綁定到了document上面。做完之后,效果不錯,結果就上線了。

結果同事拿着他的iphone6告訴我,彈出框無法消失。

然后我就找啊找,debug發現該事件沒有執行,然后我就換了個寫法,直接使用click方法能用。

查找原因

我們都知道在移動端,手機默認是觸摸事件,也就是touch事件。在iphone上面事件冒泡的是touch一類的事件,而不是click事件。

只有鏈接和input輸入框這兩類元素才有click事件。

解決方法

一、使用touchstart或者touchend代替click事件。

二、使用FastClick插件。因為該插件的原理就是利用touch來模擬click事件。

相關閱讀

http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html


免責聲明!

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



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