2

这是我第一次尝试将用户定义的参数传递给 IE9 的 extjs(4.0.1) 中的处理函数。我有下面的代码,但它会抛出一个错误,指出SCRIPT438: Object doesn't support property or method 'createDelegate'. 我不确定我做错了什么。请帮忙。

.js 文件:

Ext.onReady(function() {

    var appendBooleanOrInsertionIndex = 0; 
    var myButtonHandler = function(item,a, b, arg){
           alert(a + " "+ b);
        };

var myButton = new Ext.Button({
       id : 'myButton',
       //renderTo : 'mybutton',
       text : 'Save',
       handler : myButtonHandler.createDelegate(this, ['Hi', 'Kart'], appendBooleanOrInsertionIndex),
       scope : this
    });
});
4

2 回答 2

5

Ext 在 Ext 4 中停止向原生类原型添加逻辑。使用Ext.Function.bindExt.Function.pass

于 2013-03-12T12:36:35.863 回答
0

更正后的代码如下:

Ext.onReady(function() {


    var myButtonHandler = function(a, b){//alert("-->");
           alert(a + " "+ b);
        };

        Ext.create('Ext.panel.Panel', {
            renderTo: Ext.getBody(),
            width: 800,
            height: 300,
            layout: 'column',
            title: 'Container Panel',
            //html: 'parent panel',
            items: [
                {
                    xtype: 'button',
                    id: 'mbutton',
                    text : 'My Button',
                    handler : Ext.Function.pass(myButtonHandler, ['Hi', 'Kart!!!!'])
                }
            ]
        });
});
于 2013-03-13T06:18:24.270 回答