事件侦听器不处理动态添加的元素

Lar*_*ars 3 jquery events handler onclicklistener

我在使用jQuery按下提交按钮时向我的文档添加了一个h1标签.我想稍后与这个h1标签交互(用鼠标点击),所以我需要为它添加一个事件处理程序.但是,它似乎没有注册点击次数.

我之前看过这个问题,他们都说使用.on(),我有,但仍然没有运气.我没有收到任何错误,所以不知道从哪里开始.

这是一个非常简化版本的jsFiddle.谢谢.

$("h1").on("click", function(){
    alert("test");
    $("h1").css("color","red");
})
Run Code Online (Sandbox Code Playgroud)

Den*_*ret 13

用这个 :

$(document.body).on("click", "h1", function(){
    alert("test");
    $("h1").css("color","red");
})
Run Code Online (Sandbox Code Playgroud)

当你调用on它时,jquery集必须包含将包含的元素h1.您可以替换document.body为您确定其中的任何元素h1.

边注 :

你确定你不想要$(this).css("color","red");而不是$("h1").css("color","red");吗?使用$(this)会改变点击的颜色,h1而不是全部h1.