`

浅谈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` 是 jQuery 的早期版本中用于绑定事件的方法。它接受三个参数:`...

    JQuery详解jQuery的bind方法

    3. **替代方法**:自 jQuery 1.7 版本起,推荐使用 `.on()` 方法来代替 `bind()` 和 `delegate()`,因为 `.on()` 更加灵活且性能更优。 #### 七、总结 `bind()` 方法是 jQuery 中一个非常有用的工具,用于在 DOM ...

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

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

    JQuery绑定事件

    其中,`.bind()`与`.on()`类似,`.live()`和`.delegate()`则用于处理动态生成的DOM元素的事件,尤其是`.live()`已经废弃,`.delegate()`在jQuery 1.7之后被`.on()`全面取代。 除了基本的事件绑定,jQuery还支持事件...

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

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

    jquery使用bind绑定事件

    然而,自jQuery 1.7版本开始,推荐使用`on()`方法替代`bind()`,因为它提供了更多的功能和灵活性,如动态元素的事件绑定。使用`on()`进行相同操作的代码如下: ```javascript $('body').on('click', 'input[type=...

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

    bind()和unbind()方法是jQuery提供的一对重要函数,用于分别添加和移除事件监听器。本文将详细介绍这两个方法的使用及其应用场景。 首先,`bind()`方法允许我们为指定的DOM元素绑定一个或多个事件处理器。在给定的...

    JQuery 动态删除添加html元素bind事件

    然而,在动态添加元素后,使用`bind()`可能无法立即捕捉到新元素的事件,因为事件处理程序是在元素创建时绑定的。为了解决这个问题,可以使用`live()`或`on()`方法(jQuery 1.7+)来实现事件委托。在jQuery 1.3到1.9...

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

    此外,`bind()`、`live()`和`delegate()`在某些早期版本的jQuery中不支持动态创建元素的事件绑定,而`on()`方法解决了这个问题。 了解了这些方法的使用和区别,可以帮助开发者在处理不同情况下的事件绑定时做出更...

    浅谈Jquery为元素绑定事件

    在Jquery中,我们可以通过多种方式为元素绑定事件,例如使用bind()方法、live()方法、delegate()方法和on()方法。随着Jquery版本的演进,live()和delegate()方法已经被on()方法所取代,因为on()方法提供了更灵活的...

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

    在不同的版本中,jQuery 提供了多种方法来绑定事件,主要包括 bind()、on()、live() 和 one()。接下来,我们将详细探讨这些方法的相似点和不同点。 首先,让我们了解一下 bind() 方法。bind() 是 jQuery 中最传统的...

    浅谈jQuery中的事件

    在JavaScript的世界里,jQuery库以其简洁的语法和强大的功能深受开发者喜爱,特别是在处理DOM操作和事件处理方面。本文将深入探讨jQuery中的事件处理,包括事件的绑定、合成事件、事件冒泡以及阻止事件等核心概念。 ...

    JQuery调用绑定click事件的3种写法

    总结来说,jQuery的`click()`、`.bind()`和`.on()`都是用来绑定`click`事件的方法,但在不同的情景下,选择合适的方法能够优化代码性能和可维护性。对于简单的静态页面,`click()`和`.bind()`就足够了;而当涉及到...

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

    标题提到的`bind`和`live`都是jQuery中用于事件绑定的方法,它们虽然在功能上有相似之处,但在使用场景和性能上有所不同。以下是对这两个方法的详细解释和比较: 1. `bind()`方法: `bind()`是jQuery中最基础的...

    浅谈jQuery绑定事件会叠加的解决方法和心得总结

    `.bind()`是jQuery早期版本中用于绑定事件的方法,而在jQuery 1.7及以后的版本中,它被`.on()`方法所取代,两者都能实现相同的功能。当为DOM元素绑定事件处理函数时,每次调用这些方法都会添加一个新的监听器,而...

Global site tag (gtag.js) - Google Analytics