1

我有一张需要在其上执行功能的表。虽然它在搜索结果页面上,但在执行搜索(或加载另一页结果)后,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 中工作 *

4

1 回答 1

1

你可以试试这个,但这不是好方法:

$('body').on('click', 'table.lookup_table tr', function(e){
        e.preventDefault();
        e.stopPropagation();
        //...
        return false;
    });

it will check, on each click, if you clicked an element which matches table.lookup_table tr and if so, execute the event handler.

于 2013-02-26T23:22:00.880 回答