小程序
小游戏
企业微信
微信支付
扫描小程序码分享
给组件自定义事件时,设置bubbles为true和false表现一致,并没有阻止事件冒泡。
this.triggerEvent('customevent',{e},{ });
this.triggerEvent('customevent',{ e }, { bubbles:true });
https://developers.weixin.qq.com/s/QwB5g2mL7D4z
希望只触发 customevent 事件,不触发外层view上绑定的tap事件。
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
使用 triggerEvent 将触发另一个与 tap 无关的独立事件。如果需要阻止 touch 事件冒泡,请使用 catchtap 。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
catchtap 并没有效果,我是希望点击组件里的元素时,不触发外层包含view的tap事件。
catchtap 会阻止 tap 这个事件本身向上冒泡。如果碰到了没有阻止的情况,麻烦给个具体的代码片段看下。
麻烦看看这个代码片段https://developers.weixin.qq.com/s/ccxAZXmp7VaI
自定义组件的catch事件还是会冒泡影响父组件的点击事件
注释你可以忽略。。。
customevent 和 tap 事件是【相互独立】的这句话不理解为什么?他们不是父子关系吗?冒泡不是就是针对父子事件来说的吗?
看官网给的例子:
index.wxml:
<
view
>
another-component
bindcustomevent
=
"pageEventListener1"
my-component
"pageEventListener2"
></
</
my-component.js:
Component({
properties: {},
methods: {
onTap:
function
() {
this
.triggerEvent(
'customevent'
, {})
// 只会触发 pageEventListener2
, {}, { bubbles:
true
})
// 会依次触发 pageEventListener2 、 pageEventListener1
, composed:
// 会依次触发 pageEventListener2 、 anotherEventListener 、 pageEventListener1
}
问题:bubbles的控制只是针对自定义组件套自定义组件组件吗?如以上例程给的another-component套my-component
如下view套自定义组件bar就不行吗???
<view bindTap="clickTopFoo">
<bar catchcustomevent="onTopSubmit"></bar>
</view>
他的意思是自定义组件的事件,你想阻止冒泡 在自定义组件上加一个catch:tap=""
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
使用 triggerEvent 将触发另一个与 tap 无关的独立事件。如果需要阻止 touch 事件冒泡,请使用 catchtap 。
catchtap 并没有效果,我是希望点击组件里的元素时,不触发外层包含view的tap事件。
catchtap 会阻止 tap 这个事件本身向上冒泡。如果碰到了没有阻止的情况,麻烦给个具体的代码片段看下。
麻烦看看这个代码片段https://developers.weixin.qq.com/s/ccxAZXmp7VaI
自定义组件的catch事件还是会冒泡影响父组件的点击事件
注释你可以忽略。。。
customevent 和 tap 事件是【相互独立】的这句话不理解为什么?他们不是父子关系吗?冒泡不是就是针对父子事件来说的吗?
看官网给的例子:
index.wxml:
<
view
>
<
another-component
bindcustomevent
=
"pageEventListener1"
>
<
my-component
bindcustomevent
=
"pageEventListener2"
></
my-component
>
</
another-component
>
</
view
>
my-component.js:
Component({
properties: {},
methods: {
onTap:
function
() {
this
.triggerEvent(
'customevent'
, {})
// 只会触发 pageEventListener2
this
.triggerEvent(
'customevent'
, {}, { bubbles:
true
})
// 会依次触发 pageEventListener2 、 pageEventListener1
this
.triggerEvent(
'customevent'
, {}, { bubbles:
true
, composed:
true
})
// 会依次触发 pageEventListener2 、 anotherEventListener 、 pageEventListener1
}
}
})
问题:bubbles的控制只是针对自定义组件套自定义组件组件吗?如以上例程给的another-component套my-component
如下view套自定义组件bar就不行吗???
<view bindTap="clickTopFoo">
<bar catchcustomevent="onTopSubmit"></bar>
</view>
他的意思是自定义组件的事件,你想阻止冒泡 在自定义组件上加一个catch:tap=""