644259206@qq.com
644259206@qq.com
  • 发布:2017-03-13 12:04
  • 更新:2017-03-13 12:41
  • 阅读:1115

怎么给下拉刷新出来的dom添加tap事件

分类:MUI

我现在需求是在下拉出来的那些列表的左侧加上checkbox,而这些checkbox我是用div包裹起来的,onclick事件添加到div上在手机端没用.只好用each但是每次刷新又要把上面的遍历了一遍,所以前面的div会绑定多个事件,于是我就想在tap事件绑定之前移除掉所有事件,但是已经加载出来的div上面的tap事件还是有两个.(求指教,才开始做手机端,不胜感激)代码如下(列出的是下拉加载成功的代码)```javascript
// 上拉加载后,渲染数据
var onPagingSuccess = function (data) {
// 记录返回的page对象
page = data.obj;
var DataList = data.obj.content;
var table = document.body.querySelector('.mui-table-view');
if(DataList!=null){
var table = document.body.querySelector('.mui-table-view');
for(var i = 0; i<DataList.length; i++){
var li = document.createElement('li');
li.className = 'mui-table-view-cell mui-media';
li.innerHTML = '

'
+''
+'
'
+''
+''
+'
'+DataList[i].depa + '-' + DataList[i].dest
+'

'+DataList[i].airline+'

'
+'

航期:'+DataList[i].duration+'天

'
+'

'+DataList[i].basePrice+'元/KG'+'

'
+'
';
table.appendChild(li);
}
}
mui(".mui-table-view-cell").each(function(){
mui(this).on("tap",".checkboxposition",function(){
alert("aaa");
mui(this).off('tap','.checkboxposition',function(){
});
});
});
        };
2017-03-13 12:04 分享
已邀请:
chender

chender - 与人为善

使用事件委托机制,mui(xxx).on("tap","xxxx",function(){
})

  • 644259206@qq.com (作者)

    ok,我试试

    2017-03-13 13:50

  • 644259206@qq.com (作者)

    是的,我多此一举了,忘了还有委托这么一说了,因为自己平时写前端不是很多,所以有点犯迷糊,谢谢了

    2017-03-13 13:55

156359098

156359098

干嘛把多个不同的事件绑定在同名的div上?你可以专门加一个class(没有样式)专门用来绑定事件嘛!刷新之后去除之前的class(绑定了事件1),添加checkbox之后再添加一个不同的class用来绑定事件2。
没必要移除掉所有事件。
动态添加的元素用on()绑定事件:
例如:mui('#OA_task_1').on('tap', '.mui-slider-handle', function() { });

要回复问题请先登录注册