关于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

posted @ 2015-11-25 23:55  YJua  阅读(2350)  评论(1)    收藏  举报