G_jia
G_jia
  • 发布:2015-09-17 11:06
  • 更新:2015-09-22 08:56
  • 阅读:4207

绑定点击事件,触发两次

分类:MUI

为什么我用创建元素的方式进行事件绑定,点击的时候触发两次弹框,用直接赋值正常

          var content = document.getElementById("content");  
          for(var i=0;i<2;i++)  
          {  
            var li = document.createElement("li");  
            li.innerHTML="<li>dianji"+i+"</li>";  
            content.appendChild(li);  
          }  
          //content.innerHTML="<li>dianji</li><li>dianji2</li>"  
          mui('#content').on('tap','li',function(){  
            mui.alert('aaa');  
          })
2015-09-17 11:06 5 条评论 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

你的错误在于如下两行js代码:

var li = document.createElement("li");  
li.innerHTML="<li>dianji"+i+"</li>";

这样你的DOM会变成:

<li><li>dianji0</li></li>

innerHTML中不需要

  • DCloud_UNI_CHB

    DCloud_UNI_CHB

    事件触发两次的常见原因:
    1、重复引用了mui.min.js
    2、引用了第三方框架,比如zepto.js、avalon.js等,这些第三方框架中也有tap事件,同时也支持on事件绑定,因此会重复触发。

    如果你的问题不属于如上两种情况,请上传完整测试工程,我们帮忙验证。

    • G_jia (作者)

      怎么上传?我给你粘下我所有的代码,正确配置下js路径就行

      <!DOCTYPE html>

      <html>

      <head>

      <meta charset="utf-8">

      <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />

      <title></title>

      <script src="js/mui.min.js"></script>

      <link href="css/mui.min.css" rel="stylesheet"/>

      <script type="text/javascript" charset="utf-8">

      mui.init();

      mui.plusReady(function(){

      var content = document.getElementById("content");

      for(var i=0;i<2;i++)

      {

      var li = document.createElement("li");

      li.innerHTML="<li>dianji"+i+"</li>";

      content.appendChild(li);

      }

      //content.innerHTML="<li>dianji</li><li>dianji2</li>"

      mui('#content').on('tap','li',function(){

      mui.alert('aaa');

      })

      })

      </script>

      </head>

      <body>

      <div class="mui-content">

      <ul id='content'>


          </ul>  
      </div>

      </body>

      </html>

      2015-09-18 13:18

    flax

    flax - 一个作家曾经说过:“一个失落的灵魂能很快杀死你,远比细菌快的多.”

    楼上正解!

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