2012-01-29 14 views
0

ロードされたページ "edit_img.php"のjqueryアクションが機能しないのはなぜですか? "edit_img.php"が通常のPHPページのように開かれていると、このjqueryアクションが機能します負荷のロードされたコンテンツ())読み込まれたコンテンツjQueryのアクションが無効

"edit_img.phpが" ロードされている方法:動作しません

$("button#edit_img").click(function(){ 
     $('div#profil_wall').load("edit_img.php"); 
    }); 

"edit_img.php" jqueryのアクション:

$("button#show_info").click(function(){ 
     $('div#mini_div_info').show(); 
    }); 
+0

あなたはt彼の問題。投稿の情報は、コミュニティが問題を解決するのに十分ではありません。 –

+0

私はちょうど私のポストを編集しました – Anon

+0

私は今夜かなり賢い穴です。 ;-) - > IDをターゲットに設定しているため(あなたのページ上では一意)、セレクタに要素タイプを含める必要はありません。 –

答えて

1

をそれそれがtの後に追加されているので動作しません彼はDOMがロードされました。 clickload関数を呼び出すページに追加:

$(document).on("click", "button#show_info", function(){ 
    $('div#mini_div_info').show(); 
}); 

そして、あなたはここでedit_img.php

からclick機能コードを削除することができますjqueryの.on機能のデモです:http://jsfiddle.net/jensbits/76KJ8/

あるいは、 Gregが示唆するように:

$("div#profil_wall").on("click", "button#show_info", function(){ 
    $('div#mini_div_info').show(); 
}); 
+0

ダイナミックなコンテンツが ''に読み込まれていることを知っているときに、 'document'をリスナーにする必要はありません(' #profil_wall' –

+0

@GregPettitこれはjqueryのドキュメントhttp://api.jquery.com/live/から直接来て、 '.live()メソッドを書き換える 'までスクロールしました。 –

+0

もちろん、 'live()'メソッドを使う理由はありません。あなたが望むのは 'delegate()'メソッドを書き直すことです!言い換えれば '.on()'が来る前に 'live()'をお勧めしているかもしれません。私たちが破壊されていない祖先を知っているので、 'delegate()'が良い選択です。 –

関連する問題