我有一个表,我需要执行一个函数。但是它位于搜索结果页面上,并且在执行搜索(或加载了另一页结果)后,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 *
中工作答案 0 :(得分:1)
你可以试试这个,但这不是很好的方式:
$('body').on('click', 'table.lookup_table tr', function(e){
e.preventDefault();
e.stopPropagation();
//...
return false;
});
如果您单击了与table.lookup_table tr
匹配的元素,它将在每次单击时检查,如果是,则执行事件处理程序。