欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IOS設(shè)備上給body綁定click事件不生效的原因及解決辦法

 更新時間:2016年09月26日 09:29:24   作者:winner''free  
最近在做移動端的項目,在ios上對body綁定click事件實現(xiàn)事件代理冒泡至某些元素上不生效,怎么回事,如何解決呢?今天小編給大家?guī)砹薎OS設(shè)備上給body綁定click事件不生效的原因及解決辦法,一起看看吧

事件背景:

  最近在做一個移動端業(yè)務(wù)的時候碰到一個bug,在ios上對body綁定click事實現(xiàn)事件代理冒泡至某些元素上盡然不生效。

思考:

  暫借助jquery展示下事件綁定代碼,將所有標(biāo)簽含有data-tip屬性的元素通過事件代理至body

$('body').on('click','[data-tip]',function(e){
console.log($(this.).attr('data-tip')) 
}) 

  這樣做在android和pc上都可以正常實現(xiàn),但是在ios上面對部分標(biāo)簽盡然不生效。比如 tr , span ...這樣的標(biāo)簽

解決辦法:

  1.將click事件換成touch事件,同時還可以解決300ms的click延遲問題,但是需要e.stopPropagation()來阻止冒泡的處理會非常麻煩。

  2.在對不能正常冒泡的元素上再進行一次事件綁定,比如對于tr可以在<table>上再進行一次事件代理。

  3.最簡潔的辦法,在不能正常冒泡的元素的css屬性里面添加,cursor:pointer屬性。

  4.換成可以正常冒泡的標(biāo)簽。

相關(guān)文章

最新評論