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` 都是用来绑定事件处理函数的,但它们之间存在一些关键的区别。本文将详细解析这两个方法的用法及其差异。 首先,`bind` 是 jQuery 的早期版本中用于绑定事件的方法。它接受三个参数:`...
然而,自jQuery 1.7版本开始,推荐使用`on()`方法替代`bind()`,因为它提供了更多的功能和灵活性,如动态元素的事件绑定。使用`on()`进行相同操作的代码如下: ```javascript $('body').on('click', 'input[type=...
3. **替代方法**:自 jQuery 1.7 版本起,推荐使用 `.on()` 方法来代替 `bind()` 和 `delegate()`,因为 `.on()` 更加灵活且性能更优。 #### 七、总结 `bind()` 方法是 jQuery 中一个非常有用的工具,用于在 DOM ...
events:一个或多个用空格分隔的事件类型和可选的命名空间,如”click”或”keydown.myPlugin” 。 selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代. data:当一个事件被触发时要传递event.data...
其中,`.bind()`与`.on()`类似,`.live()`和`.delegate()`则用于处理动态生成的DOM元素的事件,尤其是`.live()`已经废弃,`.delegate()`在jQuery 1.7之后被`.on()`全面取代。 除了基本的事件绑定,jQuery还支持事件...
在jQuery的后续版本中,`on()`方法取代了`bind()`和`delegate()`,它更加灵活且功能强大,能够同时处理静态和动态元素的事件绑定。使用`on()`的方法类似于`delegate()`: ```javascript $(".sentnum-box").on(...
总结来说,jQuery的`click()`、`.bind()`和`.on()`都是用来绑定`click`事件的方法,但在不同的情景下,选择合适的方法能够优化代码性能和可维护性。对于简单的静态页面,`click()`和`.bind()`就足够了;而当涉及到...
本文实例讲述了jQuery使用bind函数实现绑定多个事件的方法。分享给大家供大家参考,具体如下: 在jQuery中绑定多个事件名称是,使用空格隔开,举例如下: $("#foo").bind("mouseenter mouseleave", function() { $...
在不同的版本中,jQuery 提供了多种方法来绑定事件,主要包括 bind()、on()、live() 和 one()。接下来,我们将详细探讨这些方法的相似点和不同点。 首先,让我们了解一下 bind() 方法。bind() 是 jQuery 中最传统的...
为了解决这个问题,jQuery提供了一些机制来为未来元素绑定事件,比如`bind`、`live`、`on`和`.one()`方法。 首先,我们要认识到,`bind`方法是不可以用来绑定未来元素的事件的。这是因为在`bind`方法被调用的时候,...
此外,`bind()`、`live()`和`delegate()`在某些早期版本的jQuery中不支持动态创建元素的事件绑定,而`on()`方法解决了这个问题。 了解了这些方法的使用和区别,可以帮助开发者在处理不同情况下的事件绑定时做出更...
on()方法是jQuery中用于绑定事件处理器的核心方法之一。它可以用于在一个或多个元素上绑定一个或多个事件处理器。在现代的jQuery版本中,on()方法取代了之前版本中的.bind(), .live(), 和.delegate()方法。 ### on...
3. 同时传入多个事件和处理函数: ```javascript $(":text").bind("dblclick blur", function() { console.log("双击或者失去焦点"); }); ``` 取消事件绑定同样有多种方式: 1. 使用`.unbind()`移除特定事件: ``...
总结来说,jQuery的事件绑定机制从`bind()`发展到`on()`,旨在提高性能和代码的简洁性。`one()`保持不变,用于一次性事件绑定。`live()`和`delegate()`的功能已经被`on()`完全涵盖,并且由于性能原因,推荐使用`on...
标题提到的`bind`和`live`都是jQuery中用于事件绑定的方法,它们虽然在功能上有相似之处,但在使用场景和性能上有所不同。以下是对这两个方法的详细解释和比较: 1. `bind()`方法: `bind()`是jQuery中最基础的...
jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。在1.7版本以前使用live。但是在1.8版本以后推荐使用on。这里介绍jQuery中如何给动态...
在jQuery中,`bind`函数是用来绑定事件处理函数到元素上的。然而,当你尝试像原生JavaScript那样在事件名称前加上`on`时,如`onpropertychange`,jQuery可能无法正确识别。实际上,jQuery的`bind`方法并不需要`on`...