0

私はすぐに遊んでいるjqueryプラグインに問題があります。ajaxの開始ハンドルイベントが呼び出されるとフェードインし、完全なハンドルで停止します。

例:

start : function (e,o) { 
    target.mask();
    target.showMaskAjax();
},

complete : function (e,o) {
    target.hideMaskAjax();....
},

問題は..2つのajax呼び出しを起動するときに、「target.mask()」で初期化された「hideMaskAjax」内の変数に正しくアクセスしたいということです

target.mask()で私は試してきました:

 this.mask = $("<div/>", {css: {display: "none"}).addClass("loading_mask");
 this.spinner = $("<div/>", {css: {display: "none"}}).addClass("spinner");

そしてtarget.hideMaskAjax()で:

alert(this.mask); //fail

また、これのためにプラグインでグローバル変数を作成しても、複数の呼び出しでは機能しないようです。

4

2 に答える 2

0

物事を複雑にしすぎないでください、imo。最も単純で、最も速く、最も汚い解決策は、変数をターゲットに直接配置することです。どちらの関数も、このようにターゲットにアクセスできます。珍しい名前を選択してください。

アラート(this.mask)はおそらく失敗しています。これは、マスクがターゲット上の関数としてすでに宣言されているためです(したがって、名前付けに注意する必要があります)。アンダースコアを前に付けてみてください。

于 2010-02-08T18:47:08.137 に答える
0

プラグイン コードの残りの部分を確認して、どのように実行しているかを確認する必要があります。そうは言っても、メンバー変数と複数のインスタンスを持つことができるように、実際のオブジェクトを作成する必要があるように思えます。次に、それに物を取り付けることができます。

于 2010-01-29T04:38:51.243 に答える