ExtJS4:使用 Ext.draw 停止事件冒泡
我在使用 ExtJS4 及其绘图组件进行事件冒泡时遇到了一些困难:
drawComponent.on('click', function(){
var sprite = Ext.create('Ext.draw.Sprite', {
type: 'circle',
fill: '#79BB3F',
stroke: '#000000',
'stroke-width': 1,
radius: 100,
x: 100,
y: 100,
surface: this.surface,
listeners: {
'click': function(el,e){
console.log('clicked');
e.stopPropagation();
}
}
});
sprite.show(true);
});
单击 drawComponent
时,会绘制一个圆圈。单击圆圈时,这只应触发圆圈的 clickHandler
,而不是 drawComponent
。
知道我的代码可能有什么问题吗? e.stopPropagation()
应该停止事件冒泡。
谢谢, 基耶鲁斯
I'm having some difficulties with event bubbling with ExtJS4 and its drawing components:
drawComponent.on('click', function(){
var sprite = Ext.create('Ext.draw.Sprite', {
type: 'circle',
fill: '#79BB3F',
stroke: '#000000',
'stroke-width': 1,
radius: 100,
x: 100,
y: 100,
surface: this.surface,
listeners: {
'click': function(el,e){
console.log('clicked');
e.stopPropagation();
}
}
});
sprite.show(true);
});
When clicking the drawComponent
, a circle is drawn. When clicking the circle, this should only trigger the clickHandler
of the circle, not the drawComponent
.
Any idea what could be wrong with my code? e.stopPropagation()
should stop the event bubble.
Thanks,
Chielus
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
addManagedListeners
方法而不是listeners
属性来添加单击事件。组件上的
click
事件也应该被删除。参考
Use the
addManagedListeners
method rather than thelisteners
property to add the click event.The
click
event on the component should be removed as well.References