function addEditButton() {
$(".editButton").remove();
$(".transaction.highlight").removeClass('highlight');
$(this).addClass('highlight');
$(this).append("<input type='button' class='editButton' value='edit' />")
}
$("body").on('click', '.transaction', addEditButton());
使用上面的代码时,我收到一条错误消息“未捕获的TypeError:无法读取未定义的属性'createDocumentFragment'。
我已经尝试搜索已发布的有关此问题的一些相同问题,我现在假设错误是因为我使用“this”的方式,但我不知道如何解决问题。
如果我把所有代码都放在$(“body”)中,但是当我使用外部addEditButton()函数时,代码才能正常工作。有人可以帮忙吗?
答案 0 :(得分:6)
绑定时不要调用该函数,只需将其作为参考传递。
$("body").on('click', '.transaction', addEditButton);
答案 1 :(得分:3)
您正在分配 addEditButton 函数返回的结果,而不是对函数本身的引用。删除括号,它应该工作:
$("body").on('click', '.transaction', addEditButton);