次のようにナビゲーションバーをロードしようとしています:
$.get("nav.html",function(menuData){
$("body").html(menuData);
)};
「nav.html」内には次のようなものがあります
<td id='menu-item-1'>menu item 1</td>
<td id='menu-item-2'>menu item 2</td>
などだから、各アイテムにイベントを割り当てたいので、これを試しました:
$("#menu-item-1").mousedown(function(response){
//create an empty table
$("body").append("table id='menu-item-1-sub-table'></table>");
//retrieve php data and insert it in the table
$.get("data.php",function(response){
$("#menu-item-1-sub-table").html(response);
});
});
問題は、イベントが発生しないことです。javascriptにhtmlを直接持っていたときにうまくいきました。
$("body").append("<table><tr><td id='menu-item-1'>menu-item-1</td></tr></table>");
しかし、それを別のファイルに移動すると、機能しなくなります。
編集
これはうまくいった1つの答えでした:
使用する
$("body").on('click','#menu-item-1',function(){
etc.
});
試したときはまだ menu-item-1 が作成されていなかったので
$("#menu-item-1).mousedown