1

私はこのjqueryコードを持っています:

$(document).ready(function(){
$('a').bind('click', false);
var url;
$('a').on('click',function(e){
    url=$(this).attr('href'); //;
    $('#AjaxPage').load(url+" .AjaxContent");
});

});

問題は、クリックイベントが初めて機能することです..しかし、ロードされた関数からロードされたコンテンツでは、そこにあるリンクには、私がバインドしたクリックイベントがありません..なぜですか? 「ライブ」と同じように「オン」を使用すると思いました

アップデート:

今、私の負荷関数は実行されません:

   $(document).ready(function(){


$('a').bind('click', false);
    var url;


$(document).on('click', 'a',function(){
        url=$(this).attr('href'); //;
        $('#AjaxPage').load(url+" .AjaxContent");
    });
});
4

1 に答える 1

3

交換

$('a').on('click', function(e){

$(document).on('click', 'a', function(e){ // replace document with a more precise selector if available

とは対照的にliveonは jQuery コレクション内のイベントを処理し、提供されたセレクターを検証するターゲットにイベントをデリゲートします。jQuery コレクションは空であってはなりません。もちろん、より正確な場合もdocumentありますが、追加する要素の親であり、イベントをインターセプトする必要があります。

于 2012-12-09T09:37:41.777 に答える