Click事件不适用于动态生成的元素

<html><head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">

        $(document).ready(function() {

            $("button").click(function() {
                $("h2").html("<p class='test'>click me</p>")
            });   

            $(".test").click(function(){
                alert();
            });
        });

    </script></head><body>
    <h2></h2>
    <button>generate new element</button></body></html>

我试图生成类名称的新标签test<h2>单击按钮。我还定义了一个与之关联的点击事件test。但事件不起作用。

有人可以帮忙吗?


牛魔王的故事
浏览 481回答 4
4回答

慕码人2483693

将该.on()方法与委派事件一起使用$('#staticParent').on('click',&nbsp;'.dynamicElement',&nbsp;function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Do&nbsp;something&nbsp;on&nbsp;an&nbsp;existent&nbsp;or&nbsp;future&nbsp;.dynamicElement});该.on()方法允许您将任何所需的事件处理程序委托给:以后添加到DOM的当前元素或&nbsp;将来的元素。PS:不要用.live()!从jQuery 1.7+开始,该.live()方法已被弃用。
打开App,查看更多内容
随时随地看视频慕课网APP