视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
jQuerydelegate事件监听无效的解决办法
2020-11-27 20:18:41 责编:小采
文档

在做微信的开发中,发现jQuery的delegate绑定的事件监听无响应的解决办法。

前端的小朋友将原来 以下结构的代码

<a href="ssss">
<p>sssss</p>
<p>dddddd</p>
</a>

改成了

<div data-href="ssss">
<p>ssssss</p>
<p>dddddd</p>
</div>

因为涉及到一些异步加载的内容,所以使用如下代码来实现 a 标签的功能

$(document).delegate('[data-href]', 'click', function () { 
if ($(this).data('href')) {
 location.href = $(this).data('href');
 }
 });

在PC浏览器上没有出现任何问题,当由iPhone 6 自带的浏览器打开的时候却直接失效了。

最终在stackoverflow上找到了解决方案,现记录如下:

On iOS there is no event bubbling without a cursor style. So in your CSS you need to add cursor: pointer; to the element.

添加CSS内容

*[data-href]{cursor: pointer;
}

下载本文
显示全文
专题