`

浅谈jQuery绑定事件on和bind的区别

阅读更多

【前言】

    先看下事件jquery事件绑定

//对于ul_li的绑定方法
//方法一:
$("ul li").bind("click",function(){console.log($(this))});
//方法二:
$("ul li").on("click",function(){console.log($(this))});
//方法三 【推荐】
$("ul").on("click","li",function(){console.log($(this))});

 

【主体】

以上三种方法都是对ul下的li进行绑定

 

其中方法一和方法二完全一样,作用是:给ul下已经存在的li添加绑定事件,方法绑定在了li上,一旦出现新的li,点击方法是无法绑定在新的li上的。

因为绑定方法已经完成,任务分发到各个li上,由li对点击后的方法进行操作。此时添加li是无法再次运行绑定事件的。如果强制再次运行一次绑定,则出现的结果是:已经绑定过的li被重复绑定,当li被点击后会重复两次console.log()事件(以上部分代码为例)。

 

第三种方法正好解决这个绑定问题,不一样的是:这种绑定方法是给ul进行绑定,相当于li被点击后,由ul分配需要运行的方法,此方法只需要绑定一次,不需要循环即可对ul下所有的li进行时间绑定。再添加新的li后,不需要对li有任何绑定操作,因为事件在li被点击后才开始进行的。

 

对于取消重复绑定,bind还有另一种方法,如下:

 

//取消绑定方法:

$("ul li").unbind("click").bind("click",function(){
    console.log($(this))
});

对于事件绑定推荐使用方法三,优点是:可以对元素动态绑定,运行速度快,效率高。

 

 

.

分享到:
评论

相关推荐

    jquery绑定事件 bind和on的用法与区别分析

    本文实例讲述了jquery绑定事件 bind和on的用法与区别。分享给大家供大家参考,具体如下: bind和on都是给元素绑定事件用的,其最大的区别就是事件冒泡 事件冒泡也是委托事件的原型,事件委托就是子类的事情委托给父类...

    jQuery中的on与bind绑定事件区别实例详解

    events:一个或多个用空格分隔的事件类型和可选的命名空间,如”click”或”keydown.myPlugin” 。 selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代. data:当一个事件被触发时要传递event.data...

    浅谈jQuery的bind和unbind事件(绑定和解绑事件)

    下面小编就为大家带来一篇浅谈jQuery的bind和unbind事件(绑定和解绑事件)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JQuery详解jQuery的bind方法

    jQuery的bind的函数在实际应用其实不是特别多,只是他可以绑定一个事件,但不会即时触发,也可以通过unbind来解除绑定。

    JQuery中绑定事件(bind())和移除事件(unbind())

    比如bind()(绑定事件)和unbind()(移除通过bind()方法添加的事件)方法来移除事件的效果。 比如下面的一个案例: 代码如下: [removed]  $(function(){  $(‘#btn’).bind(“click”, function(){  $(‘#test’...

    jquery使用bind绑定事件

    为页面标签使用bind绑定事件,使用jquery改变单行文本框的背景色

    Jquery绑定事件(bind和live的区别介绍)

    其实就和普通JS的用法差不多,只是少了一个on而已 第二、三种方法都是绑定事件,但是二者又有很大的不同,下面着重讲解一下,因为这个如果用到Jquery的框架的话是用的挺多的,尤其要注意二者的区别。 【bind和live的...

    【JavaScript源代码】JQuery绑定事件四种实现方法解析.docx

     jQuery中提供了四种事件监听方式,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off。在开始看他们之前 一:bind(type,[data],function(eventObject)) bind是使用频率...

    jQuery绑定事件方法及区别(bind,click,on,live,one)

    第一种方式: $(document).ready(function(){ $(#clickme).click(function(){ alert(hello world click) }) }) 第二种方式(简写方式为第一种): ...注意:第三种方式只适用于jquery 1.7以上

    jQuery绑定事件监听bind和移除事件监听unbind用法实例详解

    主要介绍了jQuery绑定事件监听bind和移除事件监听unbind用法,结合实例形式详细分析了绑定事件监听bind和移除事件监听unbind的具体使用技巧与相关注意事项,需要的朋友可以参考下

    jQuery中绑定事件bind() on() live() one()的异同

    本文主要介绍了jQuery中绑定事件bind() on() live() one()的异同,具有很好的参考价值,下面跟着小编一起来看下吧

    jQuery给动态添加的元素绑定事件的方法

    jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。在1.7版本以前使用live。但是在1.8版本以后推荐使用on。这里介绍jQuery中如何给动态...

    jQuery事件及绑定.pptx

    JavaScript+jQuery 网页特效设计 jQuery事件基础 1、jQuery事件概述 jQuery对JavaScript操作DOM事件进行了封装,形成了更好的事件处理机制; 包括常用事件、事件绑定与解绑...bind() 方法:可以向被选元素添加一个或多

Global site tag (gtag.js) - Google Analytics