0

Drupal 7のコンテンツをjQueryで更新しようとしてload()いますが、関連するJSコードで処理されていません。問題のコードはbind()、数十のDrupalコアJSファイルを使用しており、それらに分散しています。

jQuery 1.7.1を使用してこれを回避し、変更したい

bind: function( types, data, fn ) {
    return this.on( types, null, data, fn );
},

として振る舞う

delegate: function( selector, types, data, fn ) {
    return this.on( types, selector, data, fn );
},

selectorあなたが見ることができるように、欠けている唯一のものはです。どういうわけか、標準のbind()呼び出しからそれを取得できますか?

4

1 に答える 1

1

あなたは次のようなことを試すことができます

function(types, data, fn) {
    (this.context
      ? $(this.context)
      : this ).on(types, this.selector || null, data, fn);
    return this;
}

すべてのjQueryオブジェクトは、現在のセレクターとコンテキスト要素をプロパティとして保持します。

ただし、機能を上書きしてこの回避策を適用しないでください。アプリケーションにバグが発生するだけです。bindを呼び出すが、そうすべきではないコードを変更することをお勧めします。.binddelegate

于 2012-07-11T23:00:58.683 に答える