【问题标题】:Jquery - Calling a Function from a button created with a functionJquery - 从使用函数创建的按钮调用函数
【发布时间】:2014-02-18 19:03:35
【问题描述】:

这在 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" />');
    }
}
 });
});

此代码在另一个功能点击功能完成时使用。

有什么理由吗?

谢谢

【问题讨论】:

标签: jquery function button click


【解决方案1】:

事件处理程序仅绑定到当前选定的元素;在您的代码进行事件绑定调用时,它们必须存在于页面上。

委托事件的优点是它们可以处理来自后代元素的事件,这些事件会在以后添加到文档中。

当您动态创建按钮时。

您需要使用Event Delegation。您必须使用委托事件方法使用.on()

$(document).on('event','selector',callback_function)

理想情况下,您应该将document 替换为最近的静态容器。

例子

$('#DIV').on('click', '.go', function () {
    //Your Code     
});

【讨论】:

  • 为什么需要使用事件委托? (我知道,但最好在答案中解释为什么......)
  • 我知道答案。您的附加句子有帮助,但并没有使其尽可能清晰。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 1970-01-01
  • 1970-01-01
  • 2018-01-15
  • 2014-12-22
  • 2018-02-27
相关资源
最近更新 更多