`
wanxiaotao12
  • 浏览: 472221 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jquery事件绑定

 
阅读更多

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

bind/Unbind

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

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

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

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

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

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

1 $('a').bind({
2 click:function(){alert('a');},
3 mouseover:function(){alert('a again!')}
4 });
5 })

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

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

1 var productname="Sports Shoes";
2 $('#Area').bind('click',function(){
3 alert(productname);
4 });
5 productname="necklace",
6 $('#Area').bind('click',function(){
7 alert(productname);
8 });

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

1 var productname="Sports Shoes";
2 $('#Area').bind('click',{pn:productname},function(){
3 alert(event.data.pn);
4 });
5 productname="necklace",
6 $('#Area').bind('click',{pn:productname},function(){
7 alert(event.data.pn);
8 });

One

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

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

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

live

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

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

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

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

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

另外,jQuery还提供了一些绑定这些标准事件类型的简单方式,比如.click()用于简化.bind(‘click’)。

  
JQuery一个对象绑定多个事件 

  1. jQuery("#id").click(func1).mouseover(func2)//方法连写,func为方法的名字
  2. jQuery("#id").click(function(){//你的具体方法实现}),mouser(function(){//你的具体方法实现});
  3. jQuery("#id").bind("click mouseover",func)//两个事件中间有空格 ,func为方法的名字
  4. jQuery("#id").bind("load scroll",function(){//你的具体方法实现}); 

    一共有以下这些:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change,select, submit, keydown, keypress, keyup, error 等。

注意:在给form绑定onsubmit事件时,

写成:$("#form1").bind("onsubmit", function(){});  一直触发不了onsubmit事件, 因为这里绑定错了, 应该绑定submit, 如:$("#form1").bind("submit", function(){});

分享到:
评论

相关推荐

    jquery事件绑定例子

    这里,`selector`是用于选择要绑定事件的元素的jQuery选择器,`event`是想要监听的事件名称(如`click`、`mouseover`等),而`handler`则是当事件发生时要执行的函数。 例如,如果我们想要在点击按钮时显示一条消息...

    第17周-第16章节-Python3.5-JQuery 事件绑定的方式.avi

    第17周-第16章节-Python3.5-JQuery 事件绑定的方式.avi

    jQuery事件绑定和委托实例

    jQuery事件绑定和委托是JavaScript库jQuery中用于处理用户交互的核心机制。它们允许开发者响应用户的动作,如点击、鼠标悬浮、键盘输入等。本文将详细解释这些概念,并通过实例展示其用法。 1. `on()` 方法 `on()` ...

    jQuery事件绑定方法学习总结(推荐)

    首先,`bind()`是jQuery早期版本中用于绑定事件处理函数的方法。在上面的例子中,它被用来在按钮元素上绑定点击事件。例如: ```javascript $("#btn").bind("click", function() { $("div").append("这是一个新的p...

    对jQuery的事件绑定的一些思考(补充)

    然而,正如标题和描述所指出的,jQuery的事件绑定有时也会带来一些问题,比如内存消耗过大、动态生成元素需要重新绑定事件以及语法冗余。本文将深入探讨这些问题,并提供相应的解决方案。 首先,让我们看看jQuery中...

    深入理解jQuery事件绑定

    在深入理解jQuery事件绑定的文章中,作者向读者介绍了如何使用jQuery的不同方法来绑定事件,并对它们的适用情况和差异进行了阐述。以下是从文章内容中提取的知识点: 1. jQuery的事件绑定方法主要包括bind()、live...

    jQuery事件绑定用法详解

    jQuery提供了多种方法来绑定事件,包括但不限于: - `bind()` - `live()` - `delegate()` - `on()` 在早期版本的jQuery中,`bind()`是最常用的事件绑定方法,但后来随着jQuery的发展,出现了一些更强大的方法,如`...

    jQuery事件绑定on()与弹窗实现代码

    总的来说,`jQuery.on()`方法是处理动态元素事件的关键,它允许开发者在不关心元素何时或如何被创建的情况下,依然能够有效地绑定事件监听器。在弹窗交互设计中,这种技术尤其有用,因为它确保了即使弹窗内容是动态...

    jQuery事件绑定on()、bind()与delegate() 方法详解

    二是无法为将来可能添加的元素绑定事件。 为了解决这些问题,jQuery引入了`delegate()`方法,利用事件冒泡机制。`delegate()`需要指定一个容器元素(通常是父元素),然后监听在这个容器上发生的特定事件,当事件从...

    jQuery事件绑定用法详解(附bind和live的区别)

    主要介绍了jQuery事件绑定用法,结合实例形式较为详细的分析了jQuery事件绑定的实现原理与相关注意事项,并附带了相关绑定方法的使用说明,重点介绍了bind和live的区别,需要的朋友可以参考下

    jQuery事件绑定与解除绑定实现方法

    在JavaScript的世界里,jQuery库为开发者提供了方便快捷的方式来处理DOM元素的事件,其中包括事件的绑定与解除绑定。本文将深入探讨jQuery中的`bind`和`unbind`方法,以及如何通过它们来实现事件处理。 首先,事件...

    jquer事件绑定

    本文将详细介绍如何使用jQuery进行事件绑定,特别是通过`bind()`方法来实现自定义命名空间事件绑定的具体应用场景及其实现方式。 #### 一、jQuery事件绑定概述 jQuery提供了多种方式来处理DOM元素上的事件绑定,...

    JQuery绑定事件

    **jQuery绑定事件**是JavaScript库jQuery中的核心功能之一,它极大地简化了DOM元素事件处理的流程,使得开发者能够更加高效地编写代码。在JavaScript原生语法中,为元素添加事件监听器通常涉及到`addEventListener`...

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

    `.bind()`是jQuery中更通用的事件绑定方法,不仅可以绑定`click`事件,还可以绑定其他多种事件,如`mouseover`、`mouseout`等。下面是如何使用`.bind()`绑定`click`事件的例子: ```javascript $('#clickmebind')....

    JQuery事件Demo

    1. **`$(selector).on(events, handler)`**: 这是jQuery中用于绑定事件的主要方法。`selector`是你想要监听事件的元素选择器,`events`是想要绑定的一组事件(如`'click mouseover'`),`handler`是当事件触发时执行...

    jquery事件绑定解绑机制源码解析

    首先,JQuery的事件绑定使用`on`方法,它接收事件类型、选择器、数据和回调函数作为参数。在内部,`on`方法会创建一个事件数据对象,包含事件类型、原始事件类型、数据、处理函数、全局唯一标识符(guid)以及选择器...

Global site tag (gtag.js) - Google Analytics