`

jQuery的事件处理方法介绍 - bind(),live(),delegate(),on()

阅读更多

日期:2012-4-19  来源:GBin1.com

jQuery的事件处理方法介绍 - bind(),live(),delegate(),on()

在 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()事件绑定

    在探讨jQuery中的`bind()`, `delegate()`, 和`live()`事件绑定方法的区别时,我们需要深入理解它们在处理DOM事件时的独特方式。这些方法在不同的场景下提供了灵活且高效的选择,帮助开发者创建响应式和动态的Web应用...

    jQuery1.7帮助文档jQuery-UI-Reference-1.7

    2. **$.fn.on()**:取代了`.bind()`, `.live()`, `.delegate()`等事件绑定方法,`.on()`统一了事件处理,提供了更高的灵活性和性能优化。它支持事件委托,可以在动态添加的元素上绑定事件,这对于处理动态内容的网页...

    jQuery中bind(),live(),delegate

    今天我们将深入探讨jQuery中的事件绑定方法,包括`bind()`, `live()`, `delegate()`,以及后来推出的`on()`方法。这四个方法都是为了帮助开发者更方便地管理页面上的事件,特别是对于动态生成的元素。 1. **bind()*...

    jQuery 事件以及处理方法

    本篇将详细介绍jQuery中的事件以及处理方法。 ### 1. jQuery 事件 事件是JavaScript中的一个重要概念,它们代表着网页中发生的特定动作,如鼠标点击、键盘输入或者页面加载完成等。jQuery 提供了一系列简化的事件...

    jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解

    总结来说,`bind()` 适用于静态DOM元素,`live()` 对于动态元素但已被废弃,`delegate()` 提供了更高效的动态事件处理,而 `on()` 是最通用且推荐的事件绑定方法。在实际开发中,应根据需求选择合适的事件绑定方式,...

    Jquery各版本集合1.4-2.0

    - 引入了`.on()`和`.off()`方法,取代了`.bind()`, `.unbind()`, `.delegate()`, 和 `.undelegate()`,使事件处理更加统一和简洁。 - `$.ajax()`进行了改进,支持更好的Promise对象,提高了异步处理的可读性和可...

    官网下载的JQuery1.6.2--jquery-1.8.3所有版本

    例如,1.7系列引入了"on()"方法,替代了之前的bind()、live()和delegate(),使得事件处理更加灵活和高效。1.8系列则继续优化性能,提升了插件兼容性和API一致性。 3. **文件类型**:列表中的.js文件是未压缩的源...

    jquery各种版本1.3--2.0.zip

    1. `.on()`和`.off()`:用`.on()`和`.off()`替换`.bind()`, `.unbind()`, 和`.delegate()`,统一了事件处理方式,增强了事件委托功能。 2. 模块化改进:jQuery 1.7开始采用AMD(Asynchronous Module Definition)...

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

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

    jquery库文件1.4---2.1

    4. **1.7版本**:`.on()`方法替代了`.bind()`, `.delegate()`, `.live()`,成为统一的事件绑定接口,提升了性能和灵活性。 5. **1.8版本**:进一步优化了性能,改进了插件系统,使得插件开发者能更好地利用jQuery的...

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

    on() 方法是 jQuery 1.7 之后推荐的事件绑定方式,它替代了 bind()、live() 和 delegate() 方法。on() 方法同样支持为当前和未来的元素绑定事件,并且可以一次绑定多个事件处理器。实际上,on() 方法是一个更为通用...

    jquery事件代理方式的区别联系

    本文将深入探讨jQuery中的事件代理方式,包括`live`, `delegate`和`bind`的区别与联系。 ### 事件冒泡与事件代理原理 事件冒泡是指事件从最深的节点开始,逐级向上层节点传播事件的过程。当一个元素触发事件,该...

    jQuery参考手册-事件总结

    在jQuery库中,事件处理变得简单且灵活,提供了多种方法来绑定、触发和管理事件。以下是对jQuery事件方法的详细总结: 1. **bind()**: `bind()` 方法允许你为一个或多个事件(如`click`、`change`等)绑定一个处理...

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

    而 `on` 是从 jQuery 1.7 版本开始引入的,用来替代 `bind`、`live` 和 `delegate` 等事件处理方法。`on` 更加灵活,支持更多的功能,如事件委托。`on` 的基本语法如下: ```javascript $(selector).on(event, ...

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

    - **概述**:`on` 方法是jQuery中最为灵活的事件绑定方法,它可以作为 `bind`、`live` 和 `delegate` 的统一替代方案。`on` 方法允许开发者在任何元素上绑定事件处理器,支持事件委托,并且具有很好的兼容性和灵活性...

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

    然而,随着jQuery的发展,为了提供更高效和灵活的事件处理,出现了`one()`、`live()`以及后来的`on()`方法。 1. `bind()` `bind()`是jQuery中最早用于绑定事件的方法,它可以将一个或多个事件处理函数附加到指定...

    jquery-api-1-7

    jQuery的事件处理方式包括`.on()`, `.off()`, `.trigger()`, `.bind()`, `.live()`, `.delegate()`等。1.7版本中,`.live()`被弃用,推荐使用`.on()`来替代,因为它能更好地处理动态添加的元素的事件绑定。 4. **...

    Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解

    在我们日常开发中经常会使用到.bind()、.live()、.delegate()和.on(),有些同学会对这四者存在一些疑虑,所以下面这篇文章主要给大家介绍了关于Jquery中.bind()、.live()、.delegate()和.on()之间区别的相关资料,...

Global site tag (gtag.js) - Google Analytics