関数を実行する必要があるテーブルがあります。ただし、これは検索結果ページにあり、検索が実行された後 (または結果の別のページが読み込まれた後)、div 内のコンテンツが変更されます。残念ながら、データを変更するために呼び出される ajax メソッドにアクセスできません (これはサイト全体でグローバルに使用される関数であり、このページに変更することはできません)。
私がやろうとしているのは、 $("#search_results) div が変更されるたびに、結果セットをループし、インラインで定義されている onclick イベントを削除し、独自の onclick 関数を使用することです。ここにサンプル (これは、ページが初めて読み込まれたときに機能しますが、ajax 呼び出しによって検索結果が変更された後では機能しません):
<script type='text/javascript'>
$(document).live(function(){
alert('fired');
$('table.lookup_table tr').each(function(){
$(this).removeAttr('onclick');
});
});
$('table.lookup_table tr').on('click', function(event){
event.preventDefault();
$(this).removeAttr('onclick');
var pacware = $.trim($(':nth-child(1)', $(this)).html());
var site = $.trim($(':nth-child(2)', $(this)).html());
window.location = '<?php echo matry::here_to('edit');?>&pacware_code=' + pacware + '&site_id='+site;
return false;
});
</script>
*また、IE 8で動作させるにはこれが必要です*