0

アプリ用の独自の jquery プラグインがあります。最初のコールバックは正常に機能し、2 番目のコールバックは割り当てられていません。

$('element1').myplugin({callback:foo});
$('element2').myplugin({callback:bla});

2 番目のコールバックが機能せず、常に「foo」を呼び出します。

プラグインコード:

(function($) {
    $.fn.myplugin = function(options) {
          //some code.
          options.callback();
        }
})(jQuery);
4

2 に答える 2

1

(jQuery)プラグインの最後に追加します。デモ: http: //jsfiddle.net/wLEEK/
これが機能する理由です。現在、プラグインは次のようになっています。

(function($) {
  $.fn.myplugin = function(options) {
      //some code.
      options.callback();
    }
})(jQuery);

jQueryメソッドを作成していますmypluginfunction ($) {ただし、最初の行と最後の行のコードに注意して}ください。プラグイン作成コードを関数でラップしました。この関数は、呼び出す1つの引数を受け入れます$(jQuery)したがって、プラグイン作成コードは関数内にあるため、引数としてjQueryを渡す-を使用してその関数を呼び出します。少し複雑ですが、何が起こっているのかを理解するのに役立つ、より使い慣れたフォームを次に示します。

function createPlugin ($) {
  $.fn.myplugin = function(options) {
      //some code.
      options.callback();
    }
}//end of createPlugin
// myplugin isn't created yet; we need to call the function createPlugin
createPlugin(jQuery) // now myplugin is created
于 2012-08-13T11:18:17.820 に答える
1

javascriptを含める場合は、アップグレードされたバージョンを使用し、渡したリクエストと応答で得たものを検証します....また、1つ以上のjavascriptが含まれているかどうかを確認してから、 $.noConflict(true); を使用します。これはあなたにとって完全な助けだったかもしれません........

于 2012-08-13T11:30:03.507 に答える