繁体   English   中英

如何在单个按钮单击事件上运行两个功能

[英]How do I run two functions on a single button click event

我正在使用MVC Extjs,并且我希望两个不同的函数在按钮的click事件上运行。 到目前为止,这是我的控制器代码:

Ext.define('MyApp.controller.myController', {
    extend: 'Ext.app.Controller',

    runFirst: function(button, e, options) {
        console.log('first function is running');
    },

    runSecond: function(button, e, options) {
        console.log('second function is running');
    },


    init: function(application) {
        this.control({
            "#myButton": {
                click: this.runFirst, runSecond //THIS PART DOESN'T WORK :(
            }
        });
    }

});

当我单击myButton时, runSecond同时运行runFirstrunSecond

您可以在此处下载所有代码: https : //github.com/nitzaalfinas/Extjs-run-2-function-with-one-click/tree/one

您能否告诉我如何在单击一次按钮时运行两个功能?

您正在执行的操作不是有效的Javascript。 您不能将两个不同的值分配给一个变量(全部click:是)

因此,您可以通过以下方式实现它:

init: function(application) {
    this.control({
        "#myButton": {
            click: this.runBoth
        }
    });
}

runBoth: function(button, e, options) {
    this.runFirst(button, e, options);
    this.runSecond(button, e, options);
}

或者,使用匿名函数执行此操作:

init: function(application) {
    this.control({
        "#myButton": {
            click: function(button, e, options) {
                this.runFirst(button, e, options);
                this.runSecond(button, e, options);
            }
        }
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM