2

私のプロジェクトで以下を機能させるのに問題があります。

load()現在、コードベース全体に散在するメソッドへの呼び出しがいくつかあります。次に例を示します。

$('#cart').load('/cart/user/12312');

ここでやりたいのは、#cartdom要素にリスナーをアタッチすることです。この要素のコンテンツが上記のように読み込まれると、読み込まれていることを示すコードを実行できます。これは私が今まで持っていたものです:

$('#cart').ajaxSend(function (event, xhr, settings) {
    if ($(event.target).is('#cart')){
        $(event.target).html('loading ...');
    }
});

私が今直面している問題は、このイベントが#cart、ターゲットとして持っていないものも含めて、すべてのajaxリクエストに対してトリガーされることです。event.targetいつものように、#cartまたは私が呼んでいるものは何でも.ajaxSend()。完全に異なる$.ajax()またはload()呼び出しを行う場合でも、コンテンツをdom要素に直接ロードしなくても、イベントはとしてトリガーさ#cartれます。event.target

誰もがこれを解決する方法を知っていますか?コンテンツをロードするajax呼び出しがディスパッチされたときにのみ、いくつかのコードを実行したい#cart

PS:それajaxSendはjqueryのグローバルAjaxイベントの1つですが、ハンドラーからイベントのコンテキストを派生させることはどういうわけか可能であるはずです。

デモ: http: //jsfiddle.net/cWRwf/1/

4

0 に答える 0