9***@qq.com
9***@qq.com
  • 发布:2018-12-04 11:01
  • 更新:2018-12-04 11:01
  • 阅读:1697

mui的事件委托在手机上有时候需要点击两次才能触发

分类:MUI

详细问题描述(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境...)```javascript
<div class="handle-bar">
<div class="table-row">
<div class="table-cell">
<a href="tel:" class="telphone">
<p class="mui-icon iconfont icon-dianhua"></p>
<p>联系客户</p>
</a>
</div>
<div class="table-cell">
<a href="" class="open_sign" data-id="001">
<p class="mui-icon iconfont icon-msnui-sms-bubble" style="font-size: 20px;"></p>
<p>添加注记</p>
</a>
</div>
<div class="table-cell">
<a href="do-case.html" class="open-apply" data-id="001">
<p class="mui-icon iconfont icon-qingdan"></p>
<p>做单申请</p>
</a>
</div>
<div class="table-cell">
<a class="del-customer" data-id="001">
<p class="mui-icon iconfont icon-shanchu1"></p>
<p>删除客户</p>
</a>
</div>
</div>
</div>

这里的HTML是后台数据渲染出来的。
加上mui事件委托后PC端模拟测试没有问题,手机端会出现双击有效,单击有时无效的情况

//弹窗  
mui(".handle-bar").on("tap",".open_sign",function(){  
                mui("#middlePopover").popover("show");  
                customerId=this.getAttribute("data-id");  
            })  
//跳转  
mui(".handle-bar").on("tap",".open-apply",function(){  
                mui.openWindow({  
                    url:'do-case.html',  
                    id:'do-case',  
                    extras:{  
                        customerId:this.getAttribute('data-id')  
                    },  

                })  
            })  
//删除客户  
            var deleteId;  
            mui(".handle-bar").on("tap",".del-customer",function(){  
                deleteId=this.getAttribute("data-id");  
                console.log(deleteId)  
                var btnArray = ["否", "是"];  
                mui.confirm("是否要删除该客户?", "确认", btnArray, function(e) {  
                    if (e.index == 1) {  
                        mui.ajax('action/User.ashx',{  
                            data:{  
                                Judgem: "deleteCostomer",  
                                Uid: Uid,  
                                Tim: Tim,  
                                deleteId:deleteId  
                            },  
                            beforeSend: function (request) {  
                                request.setRequestHeader("x-ol-authtoken-ssl", SafeCode);  
                            },  
                            dataType:'json',//服务器返回json格式数据  
                            type:'post',//HTTP请求类型  
                            timeout:30000,//超时时间设置为10秒;  
                            success:function(data){  
                                if(data.result==true){  
                                    mui.toast("成功删除该客户");  
                                }else{  
                                    mui.toast("删除失败");  
                                }  
                            },  
                            error:function(xhr,type,errorThrown){  
                                mui.toast("连接服务器失败")  
//                              mui.openWindow({  
//                                  url: '404.html',  
//                                  id: '404'  
//                              })  
                            }  
                        });  
                    } else {  
                        mui.toast("我再考虑考虑");  
                    }  
                })  
            })

重现步骤
[步骤]1.从后台取数据渲染页面,加载出.hand-bar的内容。2.绑定事件。3.能正常跳转和执行各项功能,但是有时候需要点击两次或连续点击两次。
[结果]有时候需要点击两次或连续点击两次才能出发事件或跳转。
[期望]点击一次就能触发。
[如果语言难以表述清晰,可以拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX]
[IDE版本号]
[windows版本号]W10
[mac版本号]

App运行环境说明
[Android版本号]
[iOS版本号]
[手机型号]
[模拟器型号]

附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[安装包]

联系方式
[QQ]917366761

2018-12-04 11:01 负责人:无 分享
已邀请:

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