javascript - 根据按钮的处理程序条件进行指导

标签 javascript extjs

如何在按钮的处理程序上添加 if/else 条件。这样,如果条件为真,我会将按钮定向到某个函数(提交),否则定向到另一个函数(submit1)。

var btn_submitform = Ext.create('Ext.Button', {
            width:75,
            height:30,
            text:'Submit', 
            id:"btn_submitform",
            handler: submit
    });

最佳答案

只需在处理程序中检查该条件即可:

onSubmit: function(button, event, eOpts) {
    if(true) {
        this.function1();
        //
        this.fireEvent('event1', [button, event, eOpts]);
    }
    else {
        this.function2();
        //
        this.fireEvent('event2', [button, event, eOpts]);
}

或根据该条件绑定(bind)处理程序(例如在 Controller 中):

var button = Ext.ComponentQuery.query('button[id=btn_submitform]')[0];

if(true) {
    button.on('click', 'function1');
}
else {
    button.on('click', 'function2');
}

或创建委托(delegate):

var form = Ext.ComponentQuery.query('form')[0];

form.addListener({
    // Ext.Buttons have an xtype of 'button', so we use that are a selector for our delegate
    delegate: 'button',

    click: function(button, event, eOpts) {
        if (button.id === 'btn_submitform') {
            alert('Submit button tapped!');
        }
        else {
            alert('Other button tapped!');
        }
    }
});

关于javascript - 根据按钮的处理程序条件进行指导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32732368/

相关文章:

javascript - Typescript 编译即使有错误,TS2304

javascript - 拼接方法问题

javascript - jquery attr ('checked',错误)错误

javascript - 更改主题的基色 - Ext JS 6

java - 无法使用 START_ARRAY token 反序列化任务实例

javascript - ExtJS 存储未从代理加载

javascript - 在extjs4.2中保存后禁用按钮

javascript - Laravel mix - 'window is not defined',目标 : node 中带有样式加载器

javascript - 在将按键事件应用于 DOM 之前,如何确定在按键事件之后的值是什么?

javascript - Js Ext 锁定编辑网格