2011-07-27 7 views
1

私には<div id="notification">があり、それには空のコンテンツがあります。サーバーはあとでいくつかのコンテンツをajaxlyに挿入します。この挿入によって引き起こされるイベントはありますか?ありがとう。jQuery:div要素にデータを挿入することでトリガされるイベントはありますか?

注jsフレームワークとしてjQueryを使用しています。

+0

どのようにデータを挿入していますか? – SLaks

+3

これは私が以前見たことのない副詞です: "ajaxly" – BoltClock

+0

SLaksは言ったように、データがdivに移入する方法を知る必要があります。 – Vap0r

答えて

2

あなたはカスタムイベントトリガーすることができますそれを使用するために、次に

function addContentToDiv(div, markup) { 

    // NOTE: div is a jQuery object: 
    div.html(markup); 
    div.trigger('myDivHtmlChanged'); 
} 

を:

$(document).ready(function() { 
    $('myDiv').bind('myDivHtmlChanged', function() { 
     alert('content changed in myDiv'); 
    }); 
}); 
2

はい、there isはい、それをサポートするブラウザに依存することはできません。代わりに、おそらくajaxCompleteまたはその兄弟の1人を経由して、ajaxコールに接続する必要があります。

+1

同様のテストをセットアップしました。これはChromeでちょっとしたことです。http://jsfiddle.net/adamh/mKxj8/ –

1

のjQueryによってトリガーされるグローバルajaxCompleteイベントがあります:http://api.jquery.com/ajaxComplete/

説明:Ajaxリクエストの完了時に呼び出されるハンドラを登録します。これはAjaxイベントです。

$('.selector').ajaxComplete(function(e) { 
    // add bling 
}); 
+0

はい、いいえ、注意してください。 $( "#NotYourDiv")に対してのajax呼び出しとして。load( "/ hello.do");元のアイテムでもイベントが発生します。 – DefyGravity

1

私はアヤックス、私はセットアップアップ問題のdivタグのカスタムjQueryのイベントを使用してデータを挿入しているかを知りたいときに。

$(document).ready(function(){ 

    $("#notification").bind("ajaxComplete", function(event){ 
    alert("updated"); 
    }); 

    $("#notification").load("/hello.html", function(responseText, textStatus, XMLHttpRequest){ 
    $("#notification").trigger("ajaxComplete"); 
    }); 

}); 
0

DIVに挿入されたイベントはありません。変更イベントはフォーム要素でトリガーされます。 T.J.よう

$("body").bind("DOMNodeInserted", function(e) { 
    var insertedNode = $(e.target); 
    ... 
}); 

しかし、:あなたが探しているもの

0

は...イベントなどDOMNodeInserted、DOMNodeRemoved、ありますこれらはブラウザにはあまり適していません。実際、IEのどのバージョンでも動作しません。 http://www.quirksmode.org/dom/events/

関連する問題