`
cooperay
  • 浏览: 215721 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

jquery事件机制

阅读更多

jQuery是一款优秀的JavaScript框架,上次我讲了下jquery如何绑定事件,更多的是讲解jQuery的实现方式,这里再次介绍下jQuery的事件机制

bind/Unbind

在jquery的事件模型中,有两个基本的事件绑定函数,bind与unbind,这两个函数的含义就是匹配页面元素进行相关事件的处理。比如我们在JS中经常使用到的onfocus,onblur,onmouseover,onmousedown等事件都可以作为bind的参数进行传递。

$("#id").bind('click',function(){alert('tt!')});

其中bind的第一个参数代表的含义是:事件类型(注意不需要加on),function中的代码就是你要执行的逻辑代码

多个事件绑定:bind还允许你绑定多个事件,事件名字之间用空格隔开,例如:

$('a').bind('click mouseover',function(){
alert('hello');
})

在最新的jquery1.4版本中,对bind方法进行了改进,你可以在bind方法传入一个类JSON对象来一次绑定多个事件处理函数。

$('a').bind({
click:function(){alert('a');},
mouseover:function(){alert('a again!')}
});
})

在function函数中,你还可以通过传递一个javaScript对象给function方法,这个事件对象通常是可以省略的。

bind中还有一个参数data,该参数一般情况下很少使用,通常为了解决在同一个方法中处理同一个变量时有很好的处理。

var productname="Sports Shoes";
$('#Area').bind('click',function(){
alert(productname);
});
productname="necklace",
$('#Area').bind('click',function(){
alert(productname);
});

由于变量productname被重新赋值,所以输出的消息都是”necklace”,这里不了解可以去查阅下关于JavaScript的变量作用域,要解决这个问题就必须使用到data参数,

var productname="Sports Shoes";
$('#Area').bind('click',{pn:productname},function(){
alert(event.data.pn);
});
productname="necklace",
$('#Area').bind('click',{pn:productname},function(){
alert(event.data.pn);
});

One

为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。该方法与bind方法的参数一样,与bind方法的区别就是只对匹配元素的事件处理执行一次,执行完之后,以后再也不会执行,当然重新发起web请求时它又会执行一次。

$('a').one('click',function(){
alert('a');
})

单击页面上的a元素后,弹出消息,除非用户发起第二次请求,否则再次点击a元素不会弹出消息对话框。

live

该方法主要是能处理动态添加的元素,给那些后添加的元素也一样绑定事件

$('a').live('click,function(){
alert('show message!');
})

然后如果我添加一个元素,

$('body').appnend('<a href=#>Another Element</a>');

那么该元素也会被触发事件处理函数alert。

另外,jQuery还提供了一些绑定这些标准事件类型的简单方式,比如.click()用于简化.bind(‘click’)。
一共有以下这些:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error 等。

 

转帖

分享到:
评论

相关推荐

    jQuery第4天知识点:jQuery节点操作、jQuery特殊属性操作、jQuery事件机制.zip

    今天我们将主要关注jQuery中的节点操作、特殊属性操作以及事件机制。 一、jQuery节点操作 1. 选择器:jQuery提供了丰富的选择器,如ID选择器(#id)、类选择器(.class)、元素选择器(element)等,用于快速定位DOM元素...

    jquery事件机制扩展插件 jquery鼠标右键事件。

    事件处理是jQuery的核心部分之一,而本文中提到的“jquery事件机制扩展插件jquery鼠标右键事件”,则是在原有的jQuery事件机制上进行了扩展,添加了对鼠标右键事件的处理能力。 事件机制在前端交互中占据着非常重要...

    jquery事件机制扩展插件 jquery鼠标右键事件

    jquery其实本身的事件机制就很完善了,包括了单击,双击,鼠标移入,鼠标移出等。但是却少了一个做事件。就是鼠标右击事件。当然大家也是直接用侦听鼠标按下事件,然后通过if来判断执行相应的函数。造成鼠标右击事件...

    为jQuery添加自定义事件机制

    本文将深入探讨如何为jQuery添加自定义事件机制,这将帮助开发者扩展jQuery的功能,实现更加个性化的交互逻辑。 首先,我们要了解jQuery的事件系统是基于浏览器的事件模型构建的。默认情况下,jQuery提供了如click...

    jQuery事件处理的特征(事件命名机制)

    jQuery事件处理具有几个核心特征,尤其值得深入了解的是其事件命名机制和处理方式。 首先,我们来谈谈事件命名机制。在jQuery中,事件名称遵循特定的命名规则,通常与原生JavaScript事件类似,但也有自己的特色。...

    jquery事件

    在jQuery中,事件默认是通过事件冒泡机制传播的,即事件从最深的节点开始向上级节点传播。也可以选择事件捕获模式,通过在`on()`方法中指定`true`作为第三个参数。例如,`$(document).on('click', 'p', true, ...

    jQuery事件及绑定.pptx

    jQuery对JavaScript操作DOM事件进行了封装,形成了更好的事件处理机制; 包括常用事件、事件绑定与解绑等。jQuery事件处理方法是jQuery的核心函数。 常用事件方法(教材P263表A-4): 分类 事件方法 描述 鼠标 click...

    jquery效果事件

    事件委托是jQuery的一种优化策略,利用事件冒泡机制,将事件绑定在父元素上,从而减少事件处理器的数量。例如,`$("ul").on("click", "li", function() { ... })`会在ul元素上监听点击事件,但只有当点击的是li子...

    jquery事件绑定例子

    本篇文章将深入探讨jQuery中的事件绑定机制,以及如何使用它来处理用户交互。首先,我们要理解什么是事件和事件绑定。 事件是用户与网页交互时触发的动作,如点击按钮、滚动页面或填写表单。事件绑定则是将函数(或...

    Jquery 事件的订购与退订案例

    在JavaScript的世界里,...总的来说,理解和掌握jQuery的事件订购与退订机制,以及如何有效地利用事件委托,将使你能够编写更加灵活且高效的前端代码。通过不断的实践和探索,你将在jQuery事件处理方面变得更加熟练。

    浅谈 jQuery 事件源码定位问题

    jQuery作为广泛使用的JavaScript库,其事件处理机制使得源码定位变得相对复杂,尤其是在面对不同版本的jQuery时。本文将探讨如何在非自编页面上,有效地定位jQuery事件源码。 首先,我们需要了解浏览器的开发者工具...

    jquery常用事件

    总结,jQuery的事件处理机制极大地提高了开发效率,使得我们可以更便捷地响应用户的交互行为。熟练掌握这些事件,将有助于构建更丰富、更具有交互性的网页应用。在实际开发中,要根据具体需求灵活运用各种事件,并...

    JQuery绑定事件

    而事件委托则是利用事件冒泡机制,将事件绑定到父元素上,然后通过检查触发事件的原始元素来执行相应的处理函数,这样可以减少事件监听器的数量,提高性能。 在实际开发中,我们还需要了解如何移除事件绑定。这可以...

    初窥JQuery(二)事件机制(2)

    JQuery作为一个流行的JavaScript库,它封装了原生JavaScript事件处理的复杂性,并提供了一套更为简洁和强大的事件机制。 在上篇文章中,已经介绍了JQuery的事件机制中的三个概念:加载页面、事件委派和事件切换。本...

    详解jQuery事件

    事件委托是jQuery事件处理的一大优势,它利用事件冒泡机制。通过将事件处理程序绑定到共享的父元素或祖先元素,可以减少内存消耗和提高性能。例如,如果有多个 `&lt;li&gt;` 元素,而我们希望监听它们的点击事件,可以这样...

    自定义jquery插件:为jquery加入Notification机制

    本篇文章将介绍如何自定义一个jQuery插件,为jQuery添加Notification机制。 首先,我们需要理解jQuery插件的基本结构。一个简单的jQuery插件通常包括一个函数,该函数接收jQuery对象作为参数,并通过`this.each`...

    jq-events-debuger:显示jQuery事件处理程序的源代码-Show source code

    - **学习jQuery事件机制**:了解jQuery事件模型的基础知识,如事件委托、事件冒泡和事件阻止等,将有助于更好地利用"jq-events-debuger"。 - **结合其他调试工具**:虽然"jq-events-debuger"专注于jQuery事件,但...

Global site tag (gtag.js) - Google Analytics