0

Rails は、すぐに使えるさまざまな ajax イベントを提供します。(詳細はこちら — https://github.com/rails/jquery-ujs/wiki/ajax、ソースコードはこちら — https://github.com/rails/jquery-ujs/blob/master /src/rails.js#L125 )

_on()これで、2 つのメソッドが定義されたカスタム ウィジェットができました。関連するコードフラグメントは次のとおりです。

_create: function() {
  this._on(this.document, {
    "ajax:beforeSend #some-form": function(event, xhr, settings) {
      return console.log("Before send");
    }
  });

  this._on({
    // Event listeners for widget local events 
  });
}

私は2つの_on()方法を持つことができ、両方が機能するようになりました。1 つ目は内部で発生するすべてのイベントをリッスンしdocument(つまり、イベントのような非常に些細なclick *イベントがあれば動作します)、2 つ目はウィジェット内で発生したイベントのみをリッスンします。

Railsコールバックを関数内の要素に直接バインドすると、$(document).readyすべて正常に動作します。ajax:beforeSendrailsのイベント リスナーajax:successや他の同様のイベントを最初のメソッドに追加しようとすると、問題が発生し_on()ます。単純に機能しません。

Railsイベントをjquery-uiウィジェットのイベントリスナーに結合する方法はありますか? ありがとう。

4

1 に答える 1