2016-08-13 11 views
0

からの戻り値を取得するにはどうすれば公共の機能をjqueryのウィジェット機能

$.widget("UI.MyWidget", { 
     vars: { 
      retvalue:0 
        }, 
     options: { 
      Orgintop: 0, 
      Orginleft: 0, 
      Orginheight: 0, 
      Orginwidth: 0 
     }, 
     _create: function() { 
      this._renderElement(); 

     }, 
     getControlValue: function() { 
      this.vars. retvalue=45+5; 
      return this.vars. retvalue; 
     } 
}); 

をjqueryのウィジェットを作成していると私は別のスクリプトからこのパブリック関数getControlValueを呼び出す必要があります。どのように私はこれを呼び出して、その戻り値を得ることができます。私はウィジェットで新しいです。誰でも助けることができます。

ありがとうございます。

+0

ない「公共」の機能はありません、あなたは関数であるプロパティを持つオブジェクトリテラルを持って、そして文字通りそのオブジェクトを参照することなく、機能に直接渡されるので、あなたのことができ後でその機能にアクセスしないでください – adeneo

答えて

1

あなたは、this.element.data()getControlValueを設定ウィジェットが設定されている要素の.data()を参照することで呼び出し可能であるウィジェットにthisセットで設定.data()からという名前の関数を返すことができます。

$.widget("UI.MyWidget", { 
 
    vars: { 
 
    retvalue: 0 
 
    }, 
 
    options: { 
 
    Orgintop: 0, 
 
    Orginleft: 0, 
 
    Orginheight: 0, 
 
    Orginwidth: 0 
 
    }, 
 
    _create: function() { 
 
    this.element.data("_getControlValue", this.getControlValue()); 
 
    // this._renderElement(); 
 
    }, 
 
    getControlValue: function() { 
 
    var fn = function() { 
 
     this.vars.retvalue = 45 + 5; 
 
     return this.vars.retvalue; 
 
    } 
 
    return fn.bind(this) 
 
    } 
 
}); 
 

 
var widget = $("div").MyWidget(); 
 
console.log(widget.data()._getControlValue());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js" integrity="sha256-eGE6blurk5sHj+rmkfsGYeKyZx3M4bG+ZlFyA7Kns7E=" crossorigin="anonymous"></script> 
 
<div></div>

+0

ウィジェットを初期化せずにこれを取得できますか? – Arun

+0

@Arun _ "ウィジェットを初期化せずにこれを取得できますか?" _ウィジェットを初期化せずに関数を使用しようとすると、ウィジェットパターン内に関数を含める目的は何ですか?期待される結果が、オブジェクトが定義されているときに関数を使用することであれば、プレーンオブジェクトを使用して関数を定義することができます。 – guest271314

+0

こんにちは、実際に私は、この関数をサブミット関数で呼び出す必要があります。私はすでにその前にウィジェットを初期化しています。だから、私はどのように関数を呼び出すことができますサブミットのクリック機能ですか? – Arun