在jquery中的新创建元素上添加新事件

时间:2014-03-31 08:34:10

标签: jquery events append

我尝试在点击按钮后添加事件,该按钮是由append创建的。

$("#panelEdycji").append("<div class='text-center'><button id='zamknijTo' type='button' class='buttons_close btn btn-info btn-xs'>"+ikona_powrot+"Powrót </button> </div>");

这项工作很棒,但现在,我想在此添加事件点击:

("#zamknijTo" ).click(function() {
    alert("ok");
});

但这不起作用,我做错了什么?

5 个答案:

答案 0 :(得分:0)

由于您的元素动态创建到DOM,因此click事件将不适用于这些元素。在这种情况下,事件委派将帮助您附加该事件。

试试这个

$(document).on('click',"#zamknijTo" ,function() {
    alert("ok");
});

答案 1 :(得分:0)

对于动态生成的元素,请尝试event delegation,并且您还缺少$,可能是发布错误,但请再次仔细检查。

$("#panelEdycji").on("click","#zamknijTo",function(){
    alert("ok");
});

答案 2 :(得分:0)

您需要使用事件委派 -

$("#panelEdycji").on('click','#zamknijTo',function() {
    alert("ok");
});

-----> https://learn.jquery.com/events/event-delegation/

答案 3 :(得分:0)

使用 on 关键字绑定DOM中动态添加元素的事件。

$("#zamknijTo" ).on("click",function(e){
    alert("ok");
});

答案 4 :(得分:-1)

您应该使用on关键字将jquery代码应用于新创建的元素。

$('#zamknijTo').on( 'click',function(){
alert(1);
});