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());
使用上述代码时,我收到"未捕获的类型错误:无法读取未定义的属性'createDocumentFragment'"的错误消息。
我尝试搜索一些与此相同的问题,我现在假设错误是由于我使用"this"的方式,但我不确定如何解决问题。
如果我将所有代码放在 $("body"(.on 调用中,代码工作正常,但当我使用外部 addEditButton(( 函数时则不然。谁能帮忙?
绑定函数时不要调用函数,只需将其作为引用传递即可。
$("body").on('click', '.transaction', addEditButton);
您正在分配由 addEditButton 函数返回的结果,而不是对函数本身的引用。去掉括号,它应该可以工作:
$("body").on('click', '.transaction', addEditButton);