私はjquery.ajaxを介して外部のページをロードしています:example.htmlのajax読み込みコンテンツを操作するには?
$("#mydiv").load("filter.html");
内容:
<div id="filterdiv"><input id="filter" name="filter" size="40"/></div>
を、私は入力#フィルタを操作したいので、私はJavaScriptで書いた:
$('#filterdiv input').focus(function(){
alert(Hello);
}
何も起こりません。私が直接ページにfilter.htmlのコードを貼り付けた場合、それは動作しますが、私は、AJAXを経由して、それを呼び出したときに
$('#filterdiv input').focus(function(){
alert(Hello);
}
は、Ajaxロードされたコンテンツは表示されません。なぜ私は間違っているのですか?どうやってAJAXのHTMLを操作できますか?
を提出実際にはAjaxのページがロードされた後、完全なコードは次のようになりますロードします。 $(ドキュメント).ready(関数(){ $( "#のmydiv")負荷( "filter.htmlを"); $( '#filterdiv input')。フォーカス(function(){ アラート(ハロー); } }); コードのこの部分を転送する必要があります: $( '#filterdiv input')。フォーカス(関数(){ 警告(こんにちは);} ?。 のindex.htmlからはfilter.htmlする – Andersson83
ちょうど私が提案したコールバック関数を使用し –
それがコード内で後で発生しても、コールが非同期であるこの。次のステートメントがハンドラを追加する前に終了するという保証はないことを意味します。コールバックに配置すると、その要素が最初にロードされます。 – tvanfosson