essense
essense
  • 发布:2018-04-02 10:07
  • 更新:2018-04-02 20:39
  • 阅读:1265

pullrefresh下拉刷新如何避免触发longtap事件? longtap事件中如何获取绑定的数据对象?

分类:MUI

两个问题:

  1. 下拉刷新如何避免触发longtap事件?
  2. longtap事件监听中如何获取绑定的数据对象?
    烦请高手解答一下,谢谢!
<div class="mui-content" id="userList">  
    <ul id="list" class="mui-table-view">  
        <li class="mui-table-view-cell mui-media" v-for="item in items">  
            <a href="javascript:;" :data-guid="item.id" >  
                <div>  
                    <div style="float: right;">{{item.name}}</div>  
                    <div>{{item.city}}</div>  
                </div>  
            </a>  
        </li>  
    </ul>  
</div>
mui('#list').on('longtap','li',function(){  
    mui.alert("执行了长按");  
    console.log("执行了长按");  
    // TODO 这里如何获取到li元素中绑定的数据对象?  
});
var orderVue = new Vue({  
    el: '#userList',  
    data: {  
        //列表信息流数据  
        items: [  
            {id: 1,name:'USER1', city:'CITY1'},  
            {id: 2,name:'USER2', city:'CITY2'},  
            {id: 3,name:'USER3', city:'CITY3'},  
            {id: 4,name:'USER4', city:'CITY4'},  
            {id: 5,name:'USER5', city:'CITY5'}  
        ]   
    }  
});
2018-04-02 10:07 负责人:无 分享
已邀请:
hylong

hylong

1、下拉刷新的时候试试取消绑定事件。参考http://dev.dcloud.net.cn/mui/event/#off

2、longtap和tap一样的,tap咋获取,longtap同理

五叶神

五叶神 - 世界上没有免费的午餐,也不要有一颗贪婪的心

在点击事件里面加个判断,如果touch的y在变化就不触发点击事件即可

essense

essense (作者) - 民工一枚

谢谢楼上几位作答
mui('#list').on('longtap','li',function(){
// TODO 这里如何获取到li元素中绑定的数据对象?
});
这里如何获取到数据对象?

  • 五叶神

    this.getAttribute('data-id')

    2018-04-02 17:23

essense

essense (作者) - 民工一枚

// 监听长按事件longtap  
mui('#list').on('longtap','li',function(){  
    mui.alert("执行了长按");  
    console.log(this.getAttribute('data-id')); // 测试发现结果为null  
    // TODO 顺便问一句, 这里能获取整个item对象吗?  

});

大神, 搞不定, 输出为null
顺便问一句, 这里能获取整个item对象?

  • 五叶神

    是不是你的li上面有没有 data-id这个属性? 整个item对象是什么意思?this不就是当前点击的li么?

    2018-04-04 08:48

  • 五叶神

    你把你获取到的数据对象绑定到li的某个属性上,然后获取不就行了?

    2018-04-04 08:49

  • essense (作者)

    回复 五叶神:console.log(this.getAttribute('data-id')), 我本地调试, 注意到这个id问题, 确实获取不到. 不是节点上没有这个属性, 节点里有什么属性, 才能够去取值, 这个我是知道的.

    另外, 整个item对象, 我的意思是, 绑定到节点的是分开来的item里的某些field, 我的意思是在html之外的监听里, 获取到整个item对象, 而不是item里某个属性值.

    2018-04-05 20:07

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