【问题标题】:Sencha touch better practice for off then on on eventsSencha touch 更好的练习为 off 然后 on 事件
【发布时间】:2012-01-18 21:10:12
【问题描述】:

我在 Sencha (touch) 中有一个按钮,它位于一个操作按钮中。此按钮在每个视图中具有不同的功能。当我更改视图时,控制器会为按钮设置正确的功能:

myButton.on("click", function() {}); etc. 

当我切换视图时,我首先需要调用:

myButton.off("click");

然后我可以再次绑定点击:

myButton.on("click", function() {});

如果我不调用 off 函数,两个点击事件都会触发。是否有更快的方法来绑定新事件并刷新所有其他绑定事件?

【问题讨论】:

    标签: javascript sencha-touch extjs


    【解决方案1】:

    你需要使用addListener和removeListener方法,例如:

    var myFunction = function () { };
    myButton.addListener("click", myFunction);
    myButton.removeListener("click", myFunction);
    

    为此,您需要将相同的函数对象传递给两个方法,这意味着您不能在调用 addListener 时内联声明函数。

    删除所有处理程序非常简单:

    myButton.clearListeners();
    

    【讨论】:

    • on/off 的作用完全相同,因为 on 是 addListener 的简写。
    • 然后你可以使用 clearListeners() 它会删除所有附加的处理程序。
    • 为什么没有 myButton.clearListeners('click');功能,在技术上很难实现吗?我是说 Sencha Touch 的架构。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多