如何阻止绑定事件发生
发布于 5 年前 作者 xia01 18201 次浏览 来自 问答

我设定了bindblur 和bindtap  但当我选中一个input后又点击其他input的时候会同时触发blur和input ,此时我设定了一个变量tap来判定,但是我在bindtap函数里面添加 return tap也没用,打印出来tap是没问题的,但当tap为false的时候 return tap 也无法阻止bindtap事件的发生。。。。

这些input都是并列关系不是父子类关系 。。  并不是冒泡事件。。。

catch 没有作用的



关键点在于bindtap默认会执行input的focus,所以如何阻止bindtap默认事件呢,

网上一些方法在小程序里面都不管用。。。

5 回复

反复看了半天,楞是没看明白楼主的问题在哪里……

要阻止 tap 事件的发生?你不设置 bindtap 不就好了吗?

至于 focus/blur 这些事件,该发生总是要发生的,无法阻止,你能做的最多就是不去监听处理这个事件而已。

想要阻止 bindtap 事件的话 可以试试用 CSS 的 pointer-events: none; 它可以阻止 tap,但是使用 focus 还是可以获得聚焦

这些input都是并列关系不是父子类关系 。。  并不是冒泡事件。。。

catch 没有作用的

可以换一种思路,判断当前点击是是谁就行,也可以585684872进群聊

文档上已经说了,bindtap会发生事件冒泡,所以你可以实用另一种绑定事件绑定的方法:catch

bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。

回到顶部