关于使用Jquery的appen动态添加元素的事件绑定

本文介绍如何使用jQuery正确地为动态添加的元素绑定事件监听器。通过示例演示了传统方法的局限性,并展示了使用事件委托的方式实现动态元素事件绑定的方法。

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

在用jquery对页面元素进行操作的时候,经常会用到appen()函数来对页面元素进行添加,有时候还需要对新添加的元素绑定新的事件,但是如果像普通绑定事件函数一样对新添加的元素进行事件绑定的话,会失败,事件监听不起作用。

<div id="button-test">
    <button id="add-button" class="btn btn-primary">增加按钮</button>
</div>
<script>
    TestData={}
    TestUtil = {
        init:function(){
            $('#add-button').on('click',function () {
                TestUtil.addButtonFunc();
            })
            $('.select').on('click',function () {
               alert('clicked');
            });
        },
        addButtonFunc:function () {
            var innerHtml = '<button class="select btn btn-primary">点击按钮</button>';
            $('#button-test').append(innerHtml);
        }
    }

    $(function(){
        TestUtil.init();
    })
</script>
这个时候需要使用新的方式来进行事件绑定。

<div id="button-test">
    <button id="add-button" class="btn btn-primary">增加按钮</button>
</div>
<script>
    TestData={}
    TestUtil = {
        init:function(){
            $('#add-button').on('click',function () {
                TestUtil.addButtonFunc();
            })
            $('#button-test').on('click','.select',function () {
                alert('success clicked');
            })
        },
        addButtonFunc:function () {
            var innerHtml = '<button class="select btn btn-primary">点击按钮</button>';
            $('#button-test').append(innerHtml);
        }
    }

    $(function(){
        TestUtil.init();
    })
</script>

$('#button-test').on('click','.select',function () {
       alert('success clicked');
})
中,$('#button-test')是一直存在的页面元素,click是要绑定的事件类型,'.select'是选择器,在'#button-test'的范围内进行选择,function是绑定的事件


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值