jQuery - .trigger()在.load()之后不起作用

时间:2011-07-11 11:51:07

标签: jquery ajax triggers load

这是我的代码:

function refresh () {   
    sub_tab=$("#hid").val();
    $("#content").load(cur_tab+'.php',function () {
        alert(sub_tab);
        $("#pd").trigger('click');
    });     
}

$("#pd").trigger('click');似乎不起作用。但是,如果我将此行作为独立操作执行(没有load),则它可以正常工作 #pd<div>,它被加载到包含上述脚本的页面中 有什么想法吗?

#pd是里面另一个加载到#content的PHP页面 。现在当我点击#pd时,它工作正常,只是当我将PHP文件重新加载到#content

时触发事件似乎不起作用

1 个答案:

答案 0 :(得分:1)

如果click事件绑定到#pd,并且#pd位于#content内,则每次重新加载内容时都会丢失绑定,因为{{1正在被破坏和重建。

尝试使用delegate绑定事件 - 它可以更好地处理Ajax调用和动态DOM:

#pd

稍后,当您致电$("#content").delegate("#pd", "click", function(){ // click event }); 时,您应该会看到预期结果。