0

関数 attachPicker を次のように呼び出すことができるように定義しようとしました。

(function(){
  $.fn.tagPicker = function(source){
    this.attachPicker();
  }
})(jQuery);

私は試した:

(function(){
    $.fn.tagPicker = function(source){
      this.attachPicker();
      //define attachPicker
      $.fn.attachPicker = function(){
        //code here
      }
    }
 })(jQuery);


(function(){
      $.fn.tagPicker = function(source){
          this.attachPicker();
          //define attachPicker
          this.attachPicker = function(){
            //code here
          }
      }
})(jQuery);

二人とも吐き出した

Uncaught TypeError: Object [object Object] has no method 'attachPicker' 

私がした場合

(function(){
      $.fn.tagPicker = function(source){
        this.attachPicker();
      }
      $.fn.attachPicker() = function(){ //codes here };
})(jQuery);

出来た。しかし、ソースにアクセスできるように、tagPicker 内で attachPicker を定義したいと考えています。私が試したものが機能しなかった理由を説明し、何か提案をしてくれる人はいますか? もちろん、外部で attachPicker を定義する場合、source を引数として渡すことができることはわかっていました。前もって感謝します!

4

1 に答える 1

0

関数を使用する前に、その関数を定義する必要があります

このコードを試してください

(function(){
      $.fn.tagPicker = function(source){

          //define attachPicker
          this.attachPicker = function(){
            //code here
          }
          this.attachPicker();
      }
})(jQuery);

ここでテストできます: http://jsfiddle.net/s23py/ また、オブジェクトから呼び出すこともできます: http://jsfiddle.net/s23py/2/

于 2013-01-29T04:55:11.593 に答える