1

ユーザーがページ上のさまざまなリンクをクリックしたときにコンテンツをロードする jQuery スクリプトを使用しています。

$('.main-navigation a[href*=\''+window.location.hostname+'\'], .site-info a[href*=\''+window.location.hostname+'\'], .widget-area a[href*=\''+window.location.hostname+'\'], #breadcrumbs a, #smi-logo a').click(function(event) 

{
// Load content and play some animaion
}

.widget-area a[href*=\''+window.location.hostname+'\'], #breadcrumbs a問題は、 AJAX の対象となるはずのリンク ( ) の一部が実際には読み込まれたコンテンツ内にあり、スクリプトがそれらを「認識」しないことです (ページの HTML ソースに表示されないためだと思います)。

読み込まれたコンテンツ内のリンクにアクセスするにはどうすればよいですか?

4

1 に答える 1

2

委任されたイベント処理が必要なようです。最終的に動的にロードされたコンテンツを保持するコンテナー (ただし、それ自体は現在存在するコンテナー) を取得し、 on を使用してそのコンテナーにイベント ハンドラーを設定します

したがって、たとえば の id を持つ div の場合、次のfooようにします。

var hostName = window.location.hostname;
$('#foo').on('click', 'a[href*=\''+ hostName +'\'], #breadcrumbs a', function(){
    //your code here
});
于 2013-06-02T18:37:36.467 に答える