我的页面上有一个按钮。当用户单击按钮时,它会动态呈现一个表单(即,它不仅显示隐藏的表单,而且还完全使用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() {

});

10-06 06:34