微信公开课
如何看待微信公开课小程序热门讨论「小程序bindmarkertap会冒泡到bindtap事件,挺烦人的」
摘要:小程序bindmarkertap会冒泡到bindtap事件,挺烦人的
展开:需求:在map组件里定义了一堆marker,通过点击某个marker触发bindmarkertap能在map组件下方显示一个预先定义好的view,view中显示该marker所对应的详细信息。点击地图上的其他地方(非markers、非controls)则触发bindtap事件隐藏该view。view的控制阀值是“display:block/none”测试环境:真机安卓,微信客户端:6.5.10,基础库:1.4.2代码:mapidMapstyleheight:{{mapHeight}}scale{{mapScale}}longitude{{mapLongitude}}latitude{{mapLatitude}}controls{{controls}}classMapmarkers{{mapMarkers}}bindmarkertapshowPoiInfobindtapcleanTipsbindcontroltapcontrolOperationshowlocation问题:当map组件初始化后先点击marker只会触发bindmarkertap事件,此后无论你点击多少次的marker下方的view总是显示的(这是业务正确需求)。但是如果是先点击了marker后再点击地图的其他地方触发bindtap事件,则该view隐藏完毕后,下一次点击某个marker时会先触发bindmarkertap事件再触发bindtap事件!这样的影响是view一直没法显示(因为两个事件触发太快,view先block后又马上被none了),影响到了正常的体验!无论你点击多少次的marker总会自动冒泡到bindtap事件中。但很莫名其妙的是,在触发bindtap事件后,如果你在真机里稍微改变地图的缩放尺寸,再点击marker,这时候不会再冒泡到bindtap事件中,view能正常显示!然后再点击地图其他地方,再再点击marker,又会自动触发bindtap事件,view又不能正常显示了!这个问题看似对最终结果影响不大但又很恼人,如果用户不懂得稍微改变地图缩放尺寸再点击marker的话,就完全不能看到下方的marker相信信息了,用户体验大打折扣!总结:这似乎应该是map组件里对事件的冒泡处理没有设计好建议:希望官方能增加一个catchmarkertap的事件或者砍掉bindmarker冒泡到bindtap的过程从而解决该问题!了解更多
方法1:微信扫描微信公开课小程序码即可订阅热门讨论「小程序bindmarkertap会冒泡到bindtap事件,挺烦人的」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「小程序bindmarkertap会冒泡到bindtap事件,挺烦人的」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「小程序bindmarkertap会冒泡到bindtap事件,挺烦人的」
微信公开课小程序热门讨论「小程序bindmarkertap会冒泡到bindtap事件,挺烦人的」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热门讨论「小程序bindmarkertap会冒泡到bindtap事件,挺烦人的」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。