zrender
zrender copied to clipboard
zrender里的事件能不能阻止冒泡或者开启捕获模式
如题,希望能阻止冒泡并能开启捕获模式。
看这里的代码:
https://sourcegraph.com/github.com/ecomfe/[email protected]/-/blob/src/Handler.ts?L314
const eventKey = ('on' + eventName) as ElementEventNameWithOn;
const eventPacket = makeEventPacket(eventName, targetInfo, event);
while (el) {
el[eventKey]
&& (eventPacket.cancelBubble = !!el[eventKey].call(el, eventPacket));
el.trigger(eventName, eventPacket);
// Bubble to the host if on the textContent.
// PENDING
el = el.__hostTarget ? el.__hostTarget : el.parent;
if (eventPacket.cancelBubble) {
break;
}
}
所以,你可以通过手动将 event.cancelBubble
设置为 true
来阻止事件冒泡。
至于捕获模式,你的应用场景是什么呢?