jQuery的on绑定事件在mobile safari上无法使用

用一个div当做了一个按钮来使用。而且是动态添加的内容,所以想要使用click事件,需要给他用on绑定一下。

$(document).on("click",".button",function(){
    alert();
});

这个时候,使用苹果手机访问的时候,发现了一个坑爹的问题,如论如何点击“.button”,都没有任何反应,可是在安卓和各种模拟器中一切正常。原来,


苹果有这么个设置: 对于点击的对象,拥有cursor:pointer这个样式的设置,也就是说,鼠标放上去,能够出现“手”型的图标才被认作可以使用点击事件

原因:

冒泡事件是标准存在的,jquery的on事件也是没有问题。
问题出在,你要给你的dom写一个css样式 cursor:pointer
因为safari认为这才是一个可点击区域,这样表达更加友好,才会让你可以click,你才可以点击,你才可以绑定。

解决方法二:将on绑定在其父元素(静态)上,

$(".parernt").on("click",".button",function(){
    alert();
});

你可能感兴趣的:(jQuery的on绑定事件在mobile safari上无法使用)