>>> JQuery 事件处理

一、事件绑定方式      

 1、事件绑定的快捷方式:

  缺点:绑定的事件,无法取消

$("button:eq(0)").dblclick(function(){

  alert(123);

});

 2、使用on进行事件绑定

  ① 使用on进行单事件绑定

$("button:eq(0)").on("click",function(){

  alert(123);

});

$("button:eq(0)").off("click");         //解绑 

  ② 使用on,同时给多个事件绑定同一函数

$("button:eq(0)").on("click dbclick mouseover",function(){

  console.log(123);

});

  ③ 使用on,同时给多个事件分别绑定不同的函数

$("button:eq(0)").on({

  "click":function(){

    console.log("click");

  },

  "mouseover":function(){

    console.log("mouseover");

  }

});

  ④ 使用on,给回调函数传参,要求是对象格式。传递的参数可以在e.data中取到

$("button:eq(0)").on("click",{"name":"zhangsan","age":14},function(e){

  console.log(e);

  console.log(e.data);

  console.log(e.data.name);

  console.log(e.data.age);

  // console.log(window.event);

});

  [事件因子]

$("button:eq(0)").on("click",function(e){

  console.log(e);

});

二、使用on事件委派      

 1、事件委派:将原来绑定在DOM节点上的事件,改为绑在其父节点甚至根节点上,然后委派给当前节点执行

$("p").on("click".function(){});

         ↓(事件委派)

$(document).on("click","p",function(){});

 2、事件委派的作用:

  ① 将事件直接绑定在根节点上,可以减少事件绑定次数,更加节省资源;

  ② 使用事件委派绑定的事件,当页面新增同类型标签时,新的标签也可以获得绑定的已有事件。

三、 使用off() 取消事件绑定   

$("button:eq(0)").on("click",function(){

  alert(1);

});

function func(){

  alert(2);

}

$("button:eq(0)").on("click",func);

$("button:eq(0)").off("click",func); // 只清除绑定了func函数的click事件

$("button:eq(0)").off("click");  // 清除所有的click事件

$("button:eq(0)").off("click dbclick");  // 同时清除多个事件

$(document).off("click","p"); // 清除事件委派

$("p").off(); // 清除绑定的所有事件

四、one() 绑定的事件只能执行一次  

$("button:eq(0)").one("click",function(){

  alert("只能执行一次");

});

五、其他事件函数      

 1、.trigger() 自动触发某个节点绑定的事件

  接受两个参数:

   ① 需要触发的事件类型;

   ② 数组格式:传递给事件回调函数的参数

  注意:

  >>> 事件回调函数的第一个参数,必须是事件对象。因此,我们传递的参数从第二个开始接受;

  >>> 传递的参数,可以使用arguments进行读取。

 2、.triggerHandler():用法与trigger相同

  【triggerHandler 和 trigger 区别】

  ① triggerHandler不能触发HTML事件,例如表单的submit事件;

   trigger可以触发所有事件!

  ② triggerHandler只能触发所有匹配元素中的第一个元素的事件;

   trigger将触发所有匹配元素的事件!

  ③ triggerHandler的返回值,是事件回调函数的返回值。如果事件回调函数没有返回值,则返回Undefined;

   trigger的返回值永远是调用事件的DOM对象。符合JQuery的可链式语法!

 3、hover():接受两个函数,分别表示mouseover() mouseout()两个事件。

  如果只写一个函数,表示mouseover

$("p:eq(0)").hover(function(){

  $(this).css("background-color","red");

},function(){

  $(this).css("background-color","blue");

});

 4、toggle()

  ① 不传参数,表示:当前元素如果为显示状态,则隐藏;如果为隐藏状态,则显示;

  ② 传入一个动画执行效果: "ease"   "slow"   "fast"

$("p:eq(0)").toggle("fast");

  ③ 传入一个函数,表示:

   暗藏动画或显示动画,完成后执行的回调函数。

  ④ 接受一个Boolean类型的参数,表示:

   如果传入的是true则显示当前元素;如果传入的是false则隐藏当前元素。

jQuery事件处理了解一下的更多相关文章

  1. [DOM Event Learning] Section 3 jQuery事件处理基础 on(), off()和one()方法使用

    [DOM Event Learning] Section 3 jQuery事件处理基础 on(),off()和one()方法使用   jQuery提供了简单的方法来向选择器(对应页面上的元素)绑定事件 ...

  2. jQuery事件处理(四)

    看了几天,决定整理一下jQuery事件处理的整体设计思路 1.通过add方法给选中的元素注册事件处理程序(通过缓存系统将事件储存到cache,而不是绑定到元素上) a.在存储之前,会为事件处理程序增加 ...

  3. Unit02: jQuery事件处理 、 jQuery动画

    Unit02: jQuery事件处理 . jQuery动画 jQuery实现购物车案例 <!DOCTYPE html> <html> <head> <titl ...

  4. JQuery事件处理的注意事项

    1.jQuery 名称冲突 jQuery 使用 $ 符号作为 jQuery 的简介方式. 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号. jQuery 使用 ...

  5. 02-老马jQuery教程-jQuery事件处理

    1. 绑定简单事件 在DOM中DOM0级绑定事件的方式是直接给事件属性赋值,但是这样有个缺点就是每次指定的事件处理程序会把之前的覆盖掉. jQuery简单绑定事件的方式,可以让我绑定多个事件处理程序跟 ...

  6. jQuery事件处理(七)

    1.自定义事件(用户手动trigger的一般都是自定义事件) trigger: function( event, data, elem, onlyHandlers ) { var i, cur, tm ...

  7. jQuery事件处理(六)

    1.通过一步步调试的的方法观察了一下存放到cache中的事件及其处理程序的数据格式: { events : { // 根据事件类型存放添加到该元素上的所有事件,下面以click为例 click : [ ...

  8. jQuery事件处理(五)

    对原生js不熟悉看jQuery会困难很多.后续需要更多的关注下原生js jQuery封装之后的事件触发,其中一个分支(处理普通事件)是通过:elem.addEventListener( type, e ...

  9. jQuery事件处理(一)

    1.jQuery事件绑定的用法: $( "elem" ).on( events, [selector], [data], handler ); events:事件名称,可以是自定义 ...

随机推荐

  1. 使用Libgdx开发的FlappyBird(像素鸟、疯狂的小鸟)游戏源码

    本帖最后由 宋志辉 于 2014-10-21 15:06 编辑 点击进入下载地址 Flappy Bird(飞扬的小鸟)由一位来自越南河内的独立游戏开发者阮哈东开发,是一款形式简易但难度极高的休闲游戏. ...

  2. Leetcode_172_Factorial Trailing Zeroes

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42417535 Given an integer n, re ...

  3. 江湖问题研究-- intent传递有没有大小限制,是多少?

    出门一步,便是江湖,江湖上有许多流言. 比如这条: intent传递是有大小限制的,具体在40KB左右. 当然也有传言说是1M左右. 数百头母驴为何半夜惨叫? 小卖部安全套为何屡遭黑手? 女生宿舍内裤 ...

  4. Xcode相关常用快捷键搜集

    command + L:  跳转到指定行     control + i:  格式化代码 command + control + 上/下 在*.h和*.m之间切换. command + control ...

  5. Hive 配置

    <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="confi ...

  6. 【面试笔试算法】Program 5 : 推箱子 (网易游戏笔试题)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 推箱子是一款经典游戏.如图所示,灰色格子代表不能通过区域,蓝色方格是箱子,黑色圆形代表玩家,含有圆点的格子代表目标点. 规 ...

  7. 学习C++模板,初体验

    最近,看了很多码神级人物的代码,发现其代码很炫酷,尤其对模板的使用,作为小码农,感觉已经落伍了,所以应该发奋图强,好好学习和掌握模板这个东西. 模板是什么呢?有人说一个模板就是一个创建类或函数的蓝图或 ...

  8. LeetCode之“动态规划”:Maximal Square && Largest Rectangle in Histogram && Maximal Rectangle

    1. Maximal Square 题目链接 题目要求: Given a 2D binary matrix filled with 0's and 1's, find the largest squa ...

  9. MongoDB 3.0新增特性一览

    转自:http://blog.sina.com.cn/s/blog_48c95a190102vedr.html 引言 在历经版本号修改(2.8版本直接跳到3.0版本)和11个rc版本之后,MongoD ...

  10. DB Query Analyzer 6.01 is released, SQL Execute Schedule function can be used

       DB Query Analyzer is presented by Master Gen feng, Ma from Chinese Mainland. It has English versi ...