野原新之助
野原新之助
  • 发布:2015-09-21 15:22
  • 更新:2016-05-17 17:51
  • 阅读:5638

官方的checkbox例子中,点击checkbox的圆圈,触发2次change,已解决

分类:MUI

官方的checkbox例子中,点击checkbox的圆圈,触发2次change

        mui('.mui-input-group').on('change', 'input', function() {  
            console.log("1");  
            var value = this.checked?"true":"false";  
            this.previousElementSibling.innerText = "checked:"+value;  
        });

我的解决方案是

    .mui-checkbox>input{  
        pointer-events: none;     
    }

触发2次是因为点击的位置在input上,点击mui-checkbox这个div是触发一次的,这个js禁用了input的点击事件

2015-09-21 15:22 1 条评论 负责人:无 分享
已邀请:
BoredApe

BoredApe - 有问题就会有答案。

你是什么手机呢

  • 野原新之助 (作者)

    我在模拟器上出发了2次,放在手机上触发一次

    2015-09-21 16:07

  • 野原新之助 (作者)

    海马玩,就触发2次

    2015-09-21 16:07

  • BoredApe

    海马玩什么安卓版本

    2015-09-21 16:15

  • 野原新之助 (作者)

    4.2.2

    2015-09-21 16:30

  • 野原新之助 (作者)

    回复 BoredApe:安卓4.3的版本的三星S4也是会触发2次

    2015-09-24 18:10

  • 乐乐8890

    sony android 4.1.2 也是触发两次

    2016-03-23 18:34

野原新之助

野原新之助 (作者)

安卓4.3的版本的三星S4也是会触发2次

低调的竹子

低调的竹子

小米1S,安卓4.1.2,触发两次

苏禾然

苏禾然

HTC4.2版本、酷派4.2,三星4.2都是这样,这个问题解决了吗?

年二十二

年二十二

三星i9100 cm11 4.4也有这个问题。

乐乐8890

乐乐8890

sony m35t android 4.1.2 也是触发两次

unknownError

unknownError

我的程序也会在部分手机上出现同样问题。
我没有使用mui-checkbox。更诡异的是,点击checkbox小方框外围,checkbox的状态会改变,而且不会触发2次。而点击在小方框里面时,就会触发2次。
试过 stopPropagation()、return false 什么的都没用。
最后解决办法是,不监听'change',改用监听'tap' 的方法:
element.addEventListener('tap', function(){......}) 和
mui('....').on('tap', '...', function(){....})

  • 苏禾然

    是这样没错,所以这个功能就不要用MUI的checkbox了,还是自己封装一个吧

    2016-05-18 12:35

该问题目前已经被锁定, 无法添加新回复