jQuery bind() live()

本文探讨了jQuery中bind和live方法的区别,包括事件绑定的支持范围、动态元素的事件响应及事件冒泡的处理方式。bind方法适用于静态页面元素,而live方法能更好地处理动态添加的元素。

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

    <script type="text/javascript">
        $(document).ready(function () {
        
       /*$('.clickme').live('click', function () {
                alert("123456");
                $("#mediv").append("<div class=\"clickme\">单击</div>");
            });*/

$(
'.clickme').bind('click', function () { alert("123456"); $("#mediv").append("<div class=\"clickme\">单击</div>"); }); }); </script> <body> <form id="form1" > <div id="mediv"> <div class="clickme"> 单击 </div> </div> </form> </body>

 

使用bind()的时候,在bind事件后面添加的 .clickme 选择器的 元素是没有 click 事件效果。

而使用live()的时候,是有这个效果

 

(1)bind方法可以绑定任何JavaScript的事件,而live方法在jQuery1.3的时候只支持click, dblclick, keydown, keypress,keyup,mousedown, mousemove, mouseout, mouseover, 和 mouseup.在jQuery 1.4.1中,甚至也支持 focus 和 blue事件了(映射到更合适,并且可以冒泡的focusin和focusout上)。另外,在jQuery 1.4.1中,也能支持hover(映射到"mouseenter mouseleave")。

(2)live() 并不完全支持通过DOM遍历的方法找到的元素。取而代之的是,应当总是在一个选择器后面直接使用 .live()方法。

(3)当一个元素采用live方法进行事件的绑定的时候,如果想阻止事件的传递或冒泡,就要在函数中return false,仅仅调用stopPropagation()是无法实现阻止事件的传递或者冒泡的

转载于:https://www.cnblogs.com/dragon-L/p/4546865.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值