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:beforeSend
railsのイベント リスナーajax:success
や他の同様のイベントを最初のメソッドに追加しようとすると、問題が発生し_on()
ます。単純に機能しません。
Railsイベントをjquery-uiウィジェットのイベントリスナーに結合する方法はありますか? ありがとう。