记不清是那个版本的iso系统 ,对click事件支持不好
绑定事件时判断设备,如果是ISO设备则绑定为touchend ,其它设备就绑定为click
var event_name = 'click' ; // 默认是click事件
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)){ // 判断是不是ISO设备
event_name = 'touchend' ; // ISO 设备上的点击事件是touchend ,对click支持不好。
}
$('element').on(event_name,function(){
// do something ;
}) ;
注意:两个事件不要同时绑定在元素上,否则在【非ISO设备】上会触发两次点击事件,因为其它设备也支持touchend事件。
补充:2016-01-21 11:17
- 既然安卓和苹果都支持touchend事件,那直接绑定touchend事件就ok了,为什么还要作区分???
- 如果你做的东西不用在PC上显示,直接绑定touchend就ok,但不保证一些老的安卓手机能支持touchend事件,要在pc上显示的就老老实实的做一次判断再绑定事件吧!