这适用于Jquery:
<input type="button" class="go" value="GO" />
$(".go").click(function() {
$("#test").html("TEST TEST TEST");
});
但是,如果我尝试从使用以下内容创建的按钮访问go函数,则会失败。
$(".new").click(function() {
$.ajax({
url: $(this).attr("data-value"),
success: function(data, textStatus, xhr) {
$('#DIV').html('<input type="button" class="go" value="go" />');
}
}
});
});
当另一个功能点击功能完成时,使用此代码。
有什么理由?
由于
答案 0 :(得分:1)
事件处理程序仅绑定到当前选定的元素;它们必须存在于您的代码进行事件绑定调用时的页面上。
委托事件的优势在于它们可以处理来自稍后添加到文档的后代元素的事件。
正在动态创建按钮。
您需要使用Event Delegation。您必须使用委托事件方法来使用.on()。
即
$(document).on('event','selector',callback_function)
理想情况下,您应该将document
替换为最近的静态容器。
实施例
$('#DIV').on('click', '.go', function () {
//Your Code
});