通过mui.on()绑定tap事件,重复绑定几次,它就会被触发几次,也没有jquery的off方法进行撤销绑定,只能改成用jquery方法了。。。。。
mui.js中$.fn.on()结尾处代码感觉不起作用:
**////避免多次on的时候重复绑定
element.removeEventListener($.EVENT_CLICK, preventDefault);
//click event preventDefault
element.addEventListener($.EVENT_CLICK, preventDefault);**
yomz
你好,on是写在init里吗?我定义了一个添加元素的function函数,点击就添加一段innerhtml,但是新增的元素点击没有响应,如numbox我添加了mui('.mui-numbox').numbox();解决了,但是左滑删除这种新增后改如何绑定呢,求指教
2016-03-14 16:59
DCloud_UNI_FXY
回复 yomz:on事件是只初始化一次,如果是我们提供的UI控件,比如numbox。那就需要你每次有新增,就给新增的元素动态初始化一次。左滑删除这些是不需要你重复绑定的
2016-03-14 17:35
yomz
回复 DCloud_UNI_FXY:我innerhtml了id='aa'的div块,出来的左滑只有原始的有效,求解,谢谢!
<form id="add" class="mui-input-group">
<div id="aa" class="mui-input-row">
<ul id="OA_task_1" class="mui-table-view">
<li class="mui-table-view-cell">
<div class="mui-slider-right mui-disabled">
<a class="mui-btn mui-btn-red">删除</a>
</div>
<div class="mui-slider-handle">
左滑显示删除按钮
</div>
</li>
</ul>
</div>
</form>
function insertRow() {
var table = document.body.querySelector('.mui-input-group');
var cells = document.body.querySelectorAll('.mui-input-row');
for (var i = cells.length, len = i + 1; i < len; i++) {
var div = document.createElement('div');
div.id = 'aa' + i;
div.className = 'mui-input-row';
div.innerHTML = document.getElementById("aa").innerHTML;
//新纪录插到最前面;
table.insertBefore(div, table.firstChild);
}
};
2016-03-14 17:58