我的页面上有一个按钮。当用户单击按钮时,它会动态呈现一个表单(即,它不仅显示隐藏的表单,而且还完全使用jQuery创建它)。
我的问题是新创建的表单不响应任何jQuery命令。这是我目前用于呈现表单的代码。
$("#savenewlang").click(function(e) {
console.log("savenewlang has been clicked");
});
因此,当他们单击“提交”按钮但未运行时,它应该只是console.log。
任何想法如何重新加载DOM或分配一个正确触发的实际事件?
最佳答案
$("#container").on('click', '#savenewlang', function(e) {
console.log("savenewlang has been clicked");
});
在这里#container
指向#savenewlang
的父元素,该元素在页面加载时属于DOM。要指定此事件
.on()
,您需要三个参数.on(eventName, target, callback);
但是对于普通绑定(bind),只需要两个参数.on(eventName, callback);
阅读有关的更多信息 .on()
余
将所有代码放入
$(document).ready(function() {
});
简而言之$(function() {
});