最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

事件背景:

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

思考:

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

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

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

解決辦法:

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

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

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

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

相關(guān)文章

最新評論

右玉县| 施甸县| 扎鲁特旗| 永善县| 普宁市| 波密县| 呈贡县| 昌宁县| 商丘市| 古田县| 法库县| 蕲春县| 基隆市| 临泉县| 当雄县| 海阳市| 措勤县| 嫩江县| 翁源县| 巴楚县| 景宁| 梅河口市| 西畴县| 额敏县| 翁牛特旗| 越西县| 胶州市| 黑水县| 昌黎县| 吴旗县| 略阳县| 江门市| 新津县| 宁乡县| 普格县| 建始县| 潍坊市| 出国| 塔城市| 彭泽县| 合作市|