我有一个Jquery函数,当单击一个按钮add_entry时,在页面中插入一个“保存按钮”,就像这样;按钮显示,所以我假设该部分正在工作。
$("#add_entry").click(function(){
$("#add_entry").hide();
$('#status').append(<button class="save_entry">Test</button>);
});
然后我还有另一个函数应该在单击上述保存按钮时调用:
$(".save_entry").click(function(){
alert("i dont work :/");
});
让我想知道......
a)DOM操作如何实际工作? - 由于jquery部分被包装到$ document.ready()方法中,这是否意味着我无法访问'on-the-fly'这样创建的元素?
b)当使用DOM操作注入元素时,它们永远不会出现在源代码中......为什么?
感谢您的时间。
答案 0 :(得分:1)
对于动态添加的元素,您需要绑定如下的事件。
$(document).on("click", ".save_entry", function(){
alert("i will work now");
});
根据Rory的建议,您还可以将事件绑定到 #status 。
$("#status").on("click", ".save_entry", function(){
alert("i will work now");
});