0

ハンドラーをイベントにアタッチする関数があり、匿名関数に渡すと機能しますが、関数をオブジェクトのフィールドとして宣言すると機能せず、ハンドラーは未定義です

validationObj  = (function(API){

    this.validate = function (id2, idN2){
         //code


        //doesn't work 
        //this way i get an handler.guid error  on  functionFromMyApi 
        API.attach_events( {"keyup": run_func(id1, id2) },"id");


        // work's ok
        API.attach_events( {"keyup": function(){ 
                                       // same code here from run_func
                                     }
                            },"id");

          //code
    };


    var run_func = function (id1, id2){

         var obj1 = document.getElementById(id1);
         var obj2= document.getElementById(id2);

         var show_err = false;


         API.functionFromMyApi ();



         //code 
         // more code

     };


})(api);

私はjQuery 1.2.6を使用しています

4

1 に答える 1