在Javascript动态创建的按钮上调用jQuery函数
在Angular中,我使用JavaScript在调用函数时自动向able添加新行,这是在加载HTML之后完成的 在表格的每一行中都有一个包含按钮的单元格 我想在动态创建的按钮上使用jQuery,但由于它们不是初始HTML的一部分,因此从未调用jQuery函数 我尝试使用所有的Angular lifecycle钩子来查看其中是否有一个可以工作,但没有一个可以 这是我希望在单击按钮时运行的jQuery的一个示例:在Javascript动态创建的按钮上调用jQuery函数,javascript,html,jquery,angularjs,angular,Javascript,Html,Jquery,Angularjs,Angular,在Angular中,我使用JavaScript在调用函数时自动向able添加新行,这是在加载HTML之后完成的 在表格的每一行中都有一个包含按钮的单元格 我想在动态创建的按钮上使用jQuery,但由于它们不是初始HTML的一部分,因此从未调用jQuery函数 我尝试使用所有的Angular lifecycle钩子来查看其中是否有一个可以工作,但没有一个可以 这是我希望在单击按钮时运行的jQuery的一个示例: $( ".deleteButton" ).on("cli
$( ".deleteButton" ).on("click",function() {
alert("this is a button button");
});
这是如何创建按钮的JavaScript
var deleteButton = document.createElement('button');
deleteButton.innerHTML = 'Delete';
deleteButton.type = "button";
deleteButton.className = "deleteButton";
cell4.append(deleteButton);
table.append(row);
我将非常感谢任何有关这方面的帮助 …还有一个将jQuery和Angular混合在一起的开发人员。请大家,@JeremyThille我只是一个正在努力完成家庭作业的学生。不必紧张。最好不要像@JeremyThille所说的那样混合使用不同的JS框架(如jQuery和Angular)。从jQuery的角度来看,我认为您需要的是一个委托事件处理程序。将单击事件处理程序绑定到
表
或tbody
,而不是.delete按钮
。让这件事发生吧。类似于$(“tbody”)。在(“click”、“.deleteButton”、function(){…})
@jpllosa No.不要开始引入黑客和解决方法。如果您这样做,您的应用程序将是一个无法维护的摇摇欲坠的烂摊子。如果您正在学习Angular,那么步骤1是摆脱jQuery并使用Angular。另外,document.createElement
和.innerHTML
在Angular应用程序中也没有任何作用。这不是它的工作原理。如果希望元素基于数据有条件地显示,可以使用*ngIf
。要附加click hanler,请使用(click)=“clickHandler()”
,句点。或者去掉Angular,只使用jQuery。Angular应用程序中何时何地创建删除按钮?