sencha-touch-2 - 在另一个组件上管理一个组件上的点击事件

标签 sencha-touch-2 listener

我有一个带有敲击监听器(红色方块)的面板,上面还有一个按钮(绿色)。像这样的东西:

enter image description here

当按钮被按下时,我想避免红色方块的点击监听器,但我找不到这样做的方法。你可以帮帮我吗?

这个例子不完全是我的代码(我使用 Controller 、数据项等)但是是同样的问题:http://jsfiddle.net/6ah6U/

Ext.Viewport.add({
    xtype: 'panel',
    height: 300,
    width: 300,
    style: 'background: #ff0000',
    items: [{
        xtype: 'panel',
        height: 50,
        width: 50,
        style: 'background: #00ff00',
        listeners: {
            tap: function() {
                console.log('green tapped');
            },
            element: 'element'
        },
    }],
    listeners: {
        tap: function() {
            console.log('red tapped');
        },
        element: 'element'
    },
});

谢谢!

最佳答案

只需在绿色面板上处理点击事件的函数中停止事件的传播:

tap: function(btn, e) {
  alert('green tapped');
  e.stopPropagation();
},

希望这可以帮助

关于sencha-touch-2 - 在另一个组件上管理一个组件上的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15380844/

相关文章:

java - 如何转换键盘事件

java - Java Swing中adapter和listener使用的一些疑惑

java - 如何将按下 "enter"与单击按钮相关联?

cordova - 移动网站或移动应用程序

javascript - 在移动网络应用程序中加载多个选项卡和/或其 View 时遇到问题

javascript - Sencha Touch 2 + PhoneGap + iPad : Video with base64 encoded data: "The Operation could not be completed"

javascript - 如何在 XTemplate 中调用函数 (itemTpl)

c++ - 发布者订阅者模式的现代替代方案

java - 事件源 : Short way to fire event

sencha-touch-2 - Sencha 触摸 2 : getting item index in itemTpl