问题描述:
在开发微信小程序时,添加了一个底部模态框。要求模态框出现时外部蒙上阴影,当点击阴影时模态框隐藏。
功能实现思路为在一个阴影中添加模态框,点击阴影触发bindtap隐藏;
然而,当功能实现后发现点击模态框中的空白部分,模态框也会隐藏。
问题解决:
经查阅微信小程序官方文档,发现小程序事件传递分为冒泡排序和非冒泡传递,而bindtap属于冒泡传递。
在冒泡传递中,由内向外触发事件,因此点击内层后也会触发外层,而且是最后触发的。
解决方法为在模态框添加 catchtap , 即可阻止 bindtap 的冒泡传递。