jquery为新增元素添加事件

本文详细介绍了使用jQuery的on()方法为DOM元素绑定事件的过程及注意事项,对比了不同绑定方式的效果,并解释了事件冒泡机制在实际应用中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    <script type="text/javascript">
        var $id=1;
        $(function(){
            $(".hehe").click(function(){
                $id+=1;
                $(this).after("<div class='hehe' id='"+$id+"'>"+$id+"</div>");
            });
        });
    </script>
  <body>   <div class="hehe" id="1">1</div>   </body>

这种形式的事件只作用于已经存在的元素,新增的元素无效。以上例子中只能点击id=1的div,不能点击id=234..

    <script type="text/javascript">
        var $id=1;
        $(function(){
            $("body").on("click",".hehe",function(){
                $id+=1;
                $(this).after("<div class='hehe' id='"+$id+"'>"+$id+"</div>");
            });
    </script>
  <body>   <div class="hehe" id="1">1</div>   </body>

以上例子可以为新增的元素绑定事件,新增的id都可以点击。当click时,事件从.hehe开始冒泡到body,然后触发body内的新增的.hehe,从而绑定事件。

    <script type="text/javascript">
        var $id=1;
        $(function(){
            $(".hehe").on("click",function(){
                $id+=1;
                $(this).after("<div class='hehe' id='"+$id+"'>"+$id+"</div>");
            });
        });
    </script>
    
    <body>
        <div class="hehe" id="1">1</div>
    </body>

但是以上代码只能也点击id1,原因是当click时,事件只能冒泡到第一个.hehe,而新增的.hehe是同级元素,不能为他们绑定事件。

jQuery on()方法是官方推荐的绑定事件的一个方法,适用于未创建的元素。

$(selector).on(event,childSelector,data,function,map)

转载于:https://www.cnblogs.com/fj0716/p/4760761.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值