在我的HTML页面中,我动态地在某些操作上添加了一些元素。我已经为这些元素分配了某些类,以便在使用这些控件时应该触发合适的事件。我这样做了:
$(document).ready(function(){
$("#btnAddMicroElement").click(function(event,microelement){
microelement=microelement.replace("'","'");
$("#divMicroElements").append("<div class='clsdivmicroelement' style='border-bottom: 2px black solid;'><div><label>Microelement</label><input type='text' class='clstxtmicroelement' value='"+microelement+"'/><input type='button' class='clsbtnmicroelmentadd' value='Add'/></div><div><input type='button' value='Add All' class='clsbtnmicroelementaddall'/></div></div>");
return false;
});
$(".clsbtnmicroelementadd").click(function(){
alert("its working");
});
});
在上面给出的代码中,我在btnAddMicroElement
的点击事件中向页面添加了一些元素,其中一个是带有类clsbtnmicroelementadd
的输入文本。我希望在单击此按钮时执行某些操作。为此,我为这个类编写了click事件处理程序。但它没有被执行。是否允许为动态创建的元素编写事件?请帮我纠正我的代码以使其正常工作。
答案 0 :(得分:1)
尝试委派您的活动:
$(document).on('click','.clsbtnmicroelementadd',function(){
alert("its working");
});
答案 1 :(得分:0)
你的jquery代码不应该在document.ready中 你应该为你的动作添加功能,并通过在html代码中的事件中调用此函数来调用它。 像这样的东西: