jQuery函数为新元素做好准备

时间:2014-09-12 10:33:59

标签: javascript jquery

我的功能:

jQuery('#allForms td.edit').click(function(e){
    e.preventDefault();
    addTextBox(jQuery(this));
});

对我正在以这种方式创建的新元素不起作用:

var output = '<tr><td class="edit">'+values[0]+
    '</td><td class="edit">'+values[1]+
    '</td><td class="edit">'+values[2]+
    '</td><td class="edit">'+values[3]+
    '</td><td><a href="#" class="deleteForm">USUŃ</a></td></tr>';
formsList.find('tr:last').after(output);
addForm.find("input").val('');

当我点击新添加的元素时,没有任何反应。当我点击加载网站的元素时,一切正常。

2 个答案:

答案 0 :(得分:0)

您需要使用事件委派将事件附加到动态添加的元素:

jQuery('#allForms').on('click','td.edit',function(e){
e.preventDefault();
addTextBox(jQuery(this));
});

答案 1 :(得分:0)

你需要试试这个

jQuery(document).on("click", '#allForms td.edit', function(e){