web-dev-qa-db-ja.com

Drupal動作でイベントリスナーをアタッチする対象

Insert モジュールの insertIntoActiveEditor event でinsertIntoActiveEditorイベントをリッスンする必要があるユースケースがありますが、次のコードを使用します。

(function ($) {

/**
 * Custom behavior to generate image style derivatives on S3 when an image is
 * inserted into the WYSWIYG editor.
 */
Drupal.behaviors.generateDerivative = {
  attach: function(context, settings) {
    $(document).on('insertIntoActiveEditor', function(event, data) {
      var test = 'a';

    })
  }
}
})(jQuery);

私は言うエラーが出ます

Uncaught TypeError: $(...).on is not a function

この行に

$(document).on('insertIntoActiveEditor', function(event, data) {

その構文は正しいと思いましたが、どうやらそうではありません。セレクターを挿入ボタンに変更する必要がありますか(モジュールJSで使用されるものと同じ)?に変更してみました

$('input[value="Insert"]').on('insertIntoActiveEditor', function(event, data) {

それでも同じエラーが発生します。

ありがとう。

1
wonder95

原因はかなり基本的なものでした-これは管理テーマにあり、Drupal 7ではjQuery 1.4.4を使用するように設定されており、.on()は1.7まで追加されませんでした。 .bind()を使用して、現在は正常に動作しています。

1
wonder95