如何阻止绑定事件发生

发布于 6 年前作者 xia0118417 次浏览最后编辑 6 年前来自 ask

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

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

catch 没有作用的



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

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

5 回复
xiulandeng
xiulandeng1 楼6 年前

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

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

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

nchang
nchang2 楼6 年前

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

jie53
jie533 楼6 年前

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

catch 没有作用的

liangtao
liangtao4 楼6 年前

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

xuegang
xuegang5 楼4 年前

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

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