Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[小程序] 第1384天 bindtap和catchtap有什么区别? #5341

Open
haizhilin2013 opened this issue Jan 28, 2023 · 2 comments
Open

[小程序] 第1384天 bindtap和catchtap有什么区别? #5341

haizhilin2013 opened this issue Jan 28, 2023 · 2 comments
Labels
小程序 微信小程序、百度小程序、支付宝小程序、头条小程序等

Comments

@haizhilin2013
Copy link
Collaborator

haizhilin2013 commented Jan 28, 2023

第1384天 bindtap和catchtap有什么区别?

3+1官网

我也要出题

@haizhilin2013 haizhilin2013 added the 小程序 微信小程序、百度小程序、支付宝小程序、头条小程序等 label Jan 28, 2023
@haizhilin2013 haizhilin2013 changed the title [小程序] 第1384天 bindtap和catchta有什么区别? [小程序] 第1384天 bindtap和catchtap有什么区别? Jan 29, 2023
@codingpm
Copy link

当子元素使用bindtap绑定事件后,执行的时候,会冒泡到父元素(触发父元素上绑定的bingtap事件)

catchtap 不会向上冒泡到父元素

@ShihHsing
Copy link

在小程序中,bindtap catchtap 都是用于绑定点击事件的指令,它们的主要区别在于事件冒泡和事件捕获的处理方式。

bindtap

bindtap 是事件冒泡,点击子元素会先触发子元素的事件,再触发父元素的事件。

catchtap

catchtap 是事件捕获,点击子元素时,父元素和子元素都会触发事件,但子元素的事件会先触发,父元素的事件会后触发。

总结

通俗地说,如果一个元素上同时绑定了 bindtapcatchtap,那么点击该元素的子元素时,子元素的事件先触发,父元素的事件后触发,且点击该元素本身时,只有 bindtap 事件会触发,catchtap 事件不会触发。

在实际开发中,可以根据需要来选择使用 bindtap 还是 catchtap,一般来说,如果需要子元素的事件先触发,可以使用 bindtap,如果需要父元素的事件先触发,可以使用 catchtap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
小程序 微信小程序、百度小程序、支付宝小程序、头条小程序等
Projects
None yet
Development

No branches or pull requests

3 participants