This question already has answers here:
Event binding on dynamically created elements?

(23个答案)


2年前关闭。




我很确定答案不是那么困难,但是我不确定在哪里寻找答案。

我想在创建div时附加一个jQuery事件处理程序。例如:

$('#somediv').click(function(){
    //do something
});


但是... #somediv不存在。由于某些AJAX加载,它会。所以我需要的是类似的东西。

$('#somediv').whenImcreated(function(){
    $(this).click(function(){
        //do something
    });
});

最佳答案

您需要一个委托事件:

$(document).on('click', '#somediv', function(){
    //do something
});


请注意,虽然document作为主要选择器可以使用,但为获得最佳性能,应将其设置为#somediv的最接近父元素,该元素在DOM中的document.ready中存在。

关于jquery - div创建后,jQuery附加一个单击处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19730043/

10-11 12:28
查看更多