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.bindまたはExt.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 に答える