Jquery click函数添加到DOM,如何绑定新插入?

时间:2012-01-25 22:45:43

标签: jquery dom onclick

我有一个将值从table1复制到table2的函数。该函数检查第二个表以确保在执行复制之前有足够的行,如果没有足够的行,则使用addRows(n)创建它们。

$('#copyTableValues').on('click', function() {
    // count available rows and add more if needed
    if(table2Rows < rowsNeeded)
    {
        addRows(rowsNeeded - table2Rows);
    }

    // copy values from table1 to table2
    // ....

});

但是,该函数无法识别最近使用addRows插入的行。如果我再次单击复制功能,它会识别它们。

我的理解是,这是因为jquery仅在此函数的.on('click')部分检查DOM的更改。有没有办法要求它在点击后添加DOM的情况下再次检查?

1 个答案:

答案 0 :(得分:0)

是的,你需要在你的层次结构中向上移动一点。

尝试:

$('body').on('click', '#copyTableValues', function() {

});

对于'body'的任何添加,这将会'#copyTableValues',并将事件也应用于他们。当脚本命中这些行时,你只能处理已经加载到DOM中的片段。