我正在从canBubble
标志的内部元素向false
触发事件,但该事件被外部元素捕获。
这里是相关的HTML代码:
<link rel="import" href="../../packages/polymer/polymer.html">
<script type="application/dart" src="main_app.dart"></script>
<polymer-element name="external-element">
<template>
<internal-element></internal-element>
</template>
</polymer-element>
<polymer-element name="internal-element">
<template>
<button on-click={{onButtonClick}}>Click</button>
</template>
</polymer-element>
相关的Dart代码:
import 'package:polymer/polymer.dart';
@CustomTag('external-element')
class ExternalElement extends PolymerElement {
ExternalElement.created() : super.created() {
addEventListener("my-event", (e){
print("$this event $e");
});
}
}
@CustomTag('internal-element')
class InternalElement extends PolymerElement {
InternalElement.created() : super.created() {
addEventListener("my-event", (e){
print("$this event $e");
});
}
void onButtonClick() {
print('onButtonClick');
fire("my-event", canBubble: false, cancelable:false);
}
}
为什么事件冒泡到外部元素?
注意:我尝试使用Dart和简单的HTML,事件传播工作正常。