日期:2012-4-19 来源:GBin1.com
在
jQuery的开发过程中,我们往往需要处理各种事件,例如,click(),hover()等。在jQuery的API中,我们可以使用不同的方法来将
这些事件绑定到特定的元素中。今天这篇文章中,我们将要介绍如何使用bind(),on(),live()和delegate()方法来绑定特定的事件,
什么情况下使用,什么情况下不适用它们。希望能够帮助大家更好的了解和使用jQuery的时间处理方法。如果你喜欢我们的文章,请给我们留言,谢谢!
bind()方法
使用较早版本jQuery的教程或者应用中,我们往往使用bind()方法来将事件绑定到特定的元素上,如下:
<section id="container">
<img class="scv" src="images/scv.gif" alt="Terran unit" />
</section>
$('.scv').bind('click', function(){
$('#container').append('<img class="scv" src="images/scv.gif" alt="Terran unit" />');
});
如果你查看相关jQuery1.7.1最新文档的话,大家应该知道最新的jQuery中bind目前其实最后也是调用on()方法来实现的,所以呢,如果现在大家使用最新jQuery版本(目前为1.7.1)的话,尽量避免使用bind()方法。
在线演示
如
果大家点击运行上面在线演示的话,肯定会发现,当点击第一个图片时,会生成新的图片,但是如果你点击新生成的图片,不会继续执行添加新图片的操作。为什么
会这样呢?
因为使用bind绑定的元素是页面上所有存在的class="scv"的元素,新生成的元素添加到DOM,并没有绑定我们添加的click方法。那么怎么
让新的图片也可以绑定我们click方法呢。我们可以使用clone()方法,如下:
$('.scv').bind('click', function(){
$(this).clone(true).appendTo('#container');
});
我们这里使用clone方法来生成一个新的图片,并且添加到#container容器中。这里我们使用clone方法参数true,代表克隆的元素同时克隆绑定的方法。这里我们运行在线演示看看效果,如下:
在线演示
大家可以看到现在我们点击新添加的图片,也可以生成新的图片了。
.....
.....
来源:jQuery的事件处理方法介绍 - bind(),live(),delegate(),on()
分享到:
相关推荐
在探讨jQuery中的`bind()`, `delegate()`, 和`live()`事件绑定方法的区别时,我们需要深入理解它们在处理DOM事件时的独特方式。这些方法在不同的场景下提供了灵活且高效的选择,帮助开发者创建响应式和动态的Web应用...
2. **$.fn.on()**:取代了`.bind()`, `.live()`, `.delegate()`等事件绑定方法,`.on()`统一了事件处理,提供了更高的灵活性和性能优化。它支持事件委托,可以在动态添加的元素上绑定事件,这对于处理动态内容的网页...
今天我们将深入探讨jQuery中的事件绑定方法,包括`bind()`, `live()`, `delegate()`,以及后来推出的`on()`方法。这四个方法都是为了帮助开发者更方便地管理页面上的事件,特别是对于动态生成的元素。 1. **bind()*...
本篇将详细介绍jQuery中的事件以及处理方法。 ### 1. jQuery 事件 事件是JavaScript中的一个重要概念,它们代表着网页中发生的特定动作,如鼠标点击、键盘输入或者页面加载完成等。jQuery 提供了一系列简化的事件...
总结来说,`bind()` 适用于静态DOM元素,`live()` 对于动态元素但已被废弃,`delegate()` 提供了更高效的动态事件处理,而 `on()` 是最通用且推荐的事件绑定方法。在实际开发中,应根据需求选择合适的事件绑定方式,...
- 引入了`.on()`和`.off()`方法,取代了`.bind()`, `.unbind()`, `.delegate()`, 和 `.undelegate()`,使事件处理更加统一和简洁。 - `$.ajax()`进行了改进,支持更好的Promise对象,提高了异步处理的可读性和可...
例如,1.7系列引入了"on()"方法,替代了之前的bind()、live()和delegate(),使得事件处理更加灵活和高效。1.8系列则继续优化性能,提升了插件兼容性和API一致性。 3. **文件类型**:列表中的.js文件是未压缩的源...
1. `.on()`和`.off()`:用`.on()`和`.off()`替换`.bind()`, `.unbind()`, 和`.delegate()`,统一了事件处理方式,增强了事件委托功能。 2. 模块化改进:jQuery 1.7开始采用AMD(Asynchronous Module Definition)...
此外,`bind()`、`live()`和`delegate()`在某些早期版本的jQuery中不支持动态创建元素的事件绑定,而`on()`方法解决了这个问题。 了解了这些方法的使用和区别,可以帮助开发者在处理不同情况下的事件绑定时做出更...
4. **1.7版本**:`.on()`方法替代了`.bind()`, `.delegate()`, `.live()`,成为统一的事件绑定接口,提升了性能和灵活性。 5. **1.8版本**:进一步优化了性能,改进了插件系统,使得插件开发者能更好地利用jQuery的...
on() 方法是 jQuery 1.7 之后推荐的事件绑定方式,它替代了 bind()、live() 和 delegate() 方法。on() 方法同样支持为当前和未来的元素绑定事件,并且可以一次绑定多个事件处理器。实际上,on() 方法是一个更为通用...
本文将深入探讨jQuery中的事件代理方式,包括`live`, `delegate`和`bind`的区别与联系。 ### 事件冒泡与事件代理原理 事件冒泡是指事件从最深的节点开始,逐级向上层节点传播事件的过程。当一个元素触发事件,该...
在jQuery库中,事件处理变得简单且灵活,提供了多种方法来绑定、触发和管理事件。以下是对jQuery事件方法的详细总结: 1. **bind()**: `bind()` 方法允许你为一个或多个事件(如`click`、`change`等)绑定一个处理...
而 `on` 是从 jQuery 1.7 版本开始引入的,用来替代 `bind`、`live` 和 `delegate` 等事件处理方法。`on` 更加灵活,支持更多的功能,如事件委托。`on` 的基本语法如下: ```javascript $(selector).on(event, ...
- **概述**:`on` 方法是jQuery中最为灵活的事件绑定方法,它可以作为 `bind`、`live` 和 `delegate` 的统一替代方案。`on` 方法允许开发者在任何元素上绑定事件处理器,支持事件委托,并且具有很好的兼容性和灵活性...
然而,随着jQuery的发展,为了提供更高效和灵活的事件处理,出现了`one()`、`live()`以及后来的`on()`方法。 1. `bind()` `bind()`是jQuery中最早用于绑定事件的方法,它可以将一个或多个事件处理函数附加到指定...
jQuery的事件处理方式包括`.on()`, `.off()`, `.trigger()`, `.bind()`, `.live()`, `.delegate()`等。1.7版本中,`.live()`被弃用,推荐使用`.on()`来替代,因为它能更好地处理动态添加的元素的事件绑定。 4. **...
在我们日常开发中经常会使用到.bind()、.live()、.delegate()和.on(),有些同学会对这四者存在一些疑虑,所以下面这篇文章主要给大家介绍了关于Jquery中.bind()、.live()、.delegate()和.on()之间区别的相关资料,...