为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery 点击这三个tab,点击事件不起作用

jQuery 点击这三个tab,点击事件不起作用

Smart猫小萌 2019-02-13 17:18:18
<div class="mui-scroll scroll-nav">    <div class="js-anviz-tab mui-control-item anviz-item-all" data-id="5-0" style="">All</div>    <div class="js-anviz-tab js-sub-menu mui-control-item mui-active" data-id="17">Iris</div>    <div class="js-anviz-tab js-sub-menu mui-control-item" data-id="11">Facial</div>    <div class="js-anviz-tab js-sub-menu mui-control-item" data-id="5">Fingerprint</div>    </div>jQuery('.js-sub-menu').on('tap',function(e){    var index = jQuery(this).index();    var id = jQuery(this).attr('data-id');    LevelThreeSubMenu(id);});点击一次,报一次这个错误:mui.min.js:8 [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/...@ mui.min.js:8(anonymous) @ mui.min.js:6(anonymous) @ mui.min.js:6i.each @ mui.min.js:6(anonymous) @ mui.min.js:6这到底是个什么错误啊?怎么解决?
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

使用 Delegate 方法,事件处理函数绑定在根元素上, 由于事件会冒泡,用它来处理子元素上的事件,正好可以绕过passive这个鬼。

因为点击的按钮是可以滑动的,因此会报这个警告,这个警告在这里阻止了这个点击事件:


    jQuery('#newSubProduct').delegate('.js-sub-menu','tap',function(e){

            e.stopPropagation();

            var id = jQuery(this).attr('data-id');

            LevelThreeSubMenu(id);

        })

解决了如上的问题!


查看完整回答
反对 回复 2019-02-21
  • 1 回答
  • 0 关注
  • 597 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号