Sencha touch 2 通过另一个组件管理组件上的点击事件
我有一个面板,上面有一个按钮(绿色),上面有一个点击监听器(红色方块)。大概是这样的: 当按下按钮时,我想避开红场的窃听器,但我找不到这样做的方法。你能帮我吗 这个例子并不完全是我的代码(im使用控制器、数据项等),但也是同样的问题:Sencha touch 2 通过另一个组件管理组件上的点击事件,sencha-touch-2,listener,Sencha Touch 2,Listener,我有一个面板,上面有一个按钮(绿色),上面有一个点击监听器(红色方块)。大概是这样的: 当按下按钮时,我想避开红场的窃听器,但我找不到这样做的方法。你能帮我吗 这个例子并不完全是我的代码(im使用控制器、数据项等),但也是同样的问题: 谢谢 首先,您可以给您的绿色方块一个id: ....... height: 50, width: 50, id: 'green' ....... 然后,在父元素红方块的侦听器中,您可以检查点击事件的目标,查看它是否为绿色方块: listeners: {
谢谢 首先,您可以给您的绿色方块一个id:
.......
height: 50,
width: 50,
id: 'green'
.......
然后,在父元素红方块的侦听器中,您可以检查点击事件的目标
,查看它是否为绿色方块:
listeners: {
tap: function(e, node) {
if(node.parentNode.id !== 'green') {
console.log('red tapped');
}
},
element: 'element'
}
注意,在本例中,我使用的是senchatouch的HTML结构。您可以使用inspect element工具更好地了解它
更新的演示:只需在绿色面板上处理点击事件的函数中停止事件传播:
tap: function(btn, e) {
alert('green tapped');
e.stopPropagation();
},
希望这有帮助你能发布你的代码吗?我已经编辑了我的帖子。这不是我真正的代码,但也是同样的问题。如果用户点击#绿色面板的任何子项,这将不起作用
tap: function(btn, e) {
alert('green tapped');
e.stopPropagation();
},