`

jquery的bind和on绑定事件的区别

阅读更多

bind和on的绑定事件的区别:

jquery文档中bind和on函数绑定事件的用法:

.bind(events [,eventData], handler)

.on(events [,selector]  [,data], handler)

 

$('ul li').bind('click', function(){console.log('click');})绑定的事件,动态添加的li元素不会被绑定click事件,同样的已有的li被删除,但是click事件仍然在

用$('ul').on('click', 'li', function(){console.log('click');}方式绑定,动态添加的li的事件是可以被监听到的

 

on方法用的是事件代理(委托)机制,结合dom元素的捕获特性和JavaScript事件冒泡的高级特性,把事件绑定在父元素上 ;这种情况一般用在子元素较多或者子元素是变化的场景中;但是如果只是把事件绑定在父元素上,就需要在事件触发时判断当前触发的子元素,所以on方法的第二个可选参数selector就有用了

 

.on的selector参数指定是父元素代理的子元素

分享到:
评论

相关推荐

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

    在jQuery中,`bind` 和 `on` 都是用来绑定事件处理函数的,但它们之间存在一些关键的区别。本文将详细解析这两个方法的用法及其差异。 首先,`bind` 是 jQuery 的早期版本中用于绑定事件的方法。它接受三个参数:`...

    jquery使用bind绑定事件

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

    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动态绑定事件无效的处理方法

    在jQuery的后续版本中,`on()`方法取代了`bind()`和`delegate()`,它更加灵活且功能强大,能够同时处理静态和动态元素的事件绑定。使用`on()`的方法类似于`delegate()`: ```javascript $(".sentnum-box").on(...

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

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

    jQuery使用bind函数实现绑定多个事件的方法

    本文实例讲述了jQuery使用bind函数实现绑定多个事件的方法。分享给大家供大家参考,具体如下: 在jQuery中绑定多个事件名称是,使用空格隔开,举例如下: $("#foo").bind("mouseenter mouseleave", function() { $...

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

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

    jQuery中对未来的元素绑定事件用bind、live or on

    为了解决这个问题,jQuery提供了一些机制来为未来元素绑定事件,比如`bind`、`live`、`on`和`.one()`方法。 首先,我们要认识到,`bind`方法是不可以用来绑定未来元素的事件的。这是因为在`bind`方法被调用的时候,...

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

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

    浅析jQuery事件之on()方法绑定多个选择器,多个事件

    on()方法是jQuery中用于绑定事件处理器的核心方法之一。它可以用于在一个或多个元素上绑定一个或多个事件处理器。在现代的jQuery版本中,on()方法取代了之前版本中的.bind(), .live(), 和.delegate()方法。 ### on...

    多种jQuery绑定事件的实现方式

    3. 同时传入多个事件和处理函数: ```javascript $(":text").bind("dblclick blur", function() { console.log("双击或者失去焦点"); }); ``` 取消事件绑定同样有多种方式: 1. 使用`.unbind()`移除特定事件: ``...

    jQuery的三种bind/One/Live/On事件绑定使用方法

    总结来说,jQuery的事件绑定机制从`bind()`发展到`on()`,旨在提高性能和代码的简洁性。`one()`保持不变,用于一次性事件绑定。`live()`和`delegate()`的功能已经被`on()`完全涵盖,并且由于性能原因,推荐使用`on...

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

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

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

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

    jQuery中的bind绑定事件与文本框改变事件的临时解决方法

    在jQuery中,`bind`函数是用来绑定事件处理函数到元素上的。然而,当你尝试像原生JavaScript那样在事件名称前加上`on`时,如`onpropertychange`,jQuery可能无法正确识别。实际上,jQuery的`bind`方法并不需要`on`...

Global site tag (gtag.js) - Google Analytics