点击打开:

jquery系列教程1-选择器全解

jquery系列教程2-style样式操作全解

jquery系列教程3-DOM操作全解

jquery系列教程4-事件操作全解

jquery系列教程5-动画操作全解

jquery系列教程6-ajax的应用全解

jquery系列教程7-自定义jquery插件全解

jquery系列教程8-jquery插件大全

jquery中的事件操作全解:



事件冒泡,子元素事件会向父元素传递,触发父元素的同类事件

事件捕获,事件从最外层开始向内层传递,jquery不支持捕获,只能使用原生js才能使用事件捕获

DOM加载事件

DOM加载事件分为onload事件和ready事件。

//window.onload函数在页面所有内容加载完成后触发,只能执行最后一个window.onload函数
$(window).load(function(){         //等价于window.onload = function
    alert("加载完成");
});

//ready函数在DOM树加载完成后触发,可以同时执行多个ready函数。
$(document).ready(function(){      //$(document)可以简写成$(),  $(document).ready函数可以简写成$(function(){})
    alert("加载完成");
});

事件绑定

使用函数bind(type [,data],fn)绑定事件。

1、其中type表示事件类型:blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseout,mouseover,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error。

2、data表示传递给事件对象的额外数据,范围绑定的处理函数

$cr.bind("click",myfun = function(){                   //bind绑定事件,可以没有额外数据。可以将事件赋值给一个引用变量,在其他地方使用这个函数
    this.innerHTML;                                    //this表示绑定对象
    $(this).html();                                    //将this通过$转化为jquery对象,以便调用jquery函数
});

$cr.bind("click.mynamespace",function(){               //mynamespace用于表示事件的命名空间,是一个用于区别相同类型事件的不同函数.
});

$cr.bind("mouseover",function(event){                   //bind更换绑定事件,event事件对象,调用不用传递传参数,会自动拥有此参数。
    event.preventDefault();                             //阻止默认行为,如超链接自动跳转,提交按钮自动提交。
    event.stopPropagation();                            //停止事件冒泡。因为事件大部分默认是冒泡的
    return false;                                       //return false也代表了preventDefault和stopPropagation,可以代替他们
}).bind("mouseout",function(event){                     //对于没有返回值的对象函数,函数后可以继续进行访问,jquery特色的链式操作。
    event.type;                                         //事件类型
    event.target;                                       //触发事件的元素,此处相当远鼠标离开的元素
    event.relatedTarget;                                //相关元素,此处相当于鼠标进入的元素
    event.pageX+event.pageY;                            //光标相对于页面的位置,如果有滚动条要加上滚动条的位置
    event.which;                                        //鼠标按键(1,2,3,表示左右中键)或键盘按键
    event.metaKey;                                      //ctrl按键
});

$cr.bind("mouseover mouseout",function(){               //可以一次绑定多个事件
    alert("光标进出");
});

$cr.bind("myclick",function(event,message1,message2){   //为对象绑定自定义事件,不会自动触发,必须代码触发。
    alert(message1.toString()+message2.toString());
});

$cr.one("click",function(){                              //对只执行一次,就解除绑定的事件,使用one绑定
});

解除绑定

$cr.unbind();                                       //删除元素所有事件
$cr.unbind("click");                                //删除元素所有点击事件,因为元素可以同时绑定多个点击事件
$cr.unbind("mouseover").unbind("mouseout");         //解除绑定,支持链式写法
$cr.unbind("click",myfun);                          //删除元素myfun点击事件
$cr.unbind(".mynamespace");                         //删除所有具有此命名空间的绑定函数

合成事件

jquery特有的hover和toggle方法。

$cr.hover(function(){                         //hover用来模拟光标悬停事件,同时设置光标进入和离开函数,与上面同时设置mouseover和mouseout函数效果相同
    printf("光标进入");
},function(){
    printf("光标离开");
});

$cr.toggle(function(){                         //toggle模拟鼠标连续点击
    printf("第一次点击");
},function(){
    printf("第二次点击");
},function(){
    printf("第三次点击");
});

模拟操作

$cr.trigger("click");                             //触发事件,包括绑定事件和默认事件
$cr.trigger("click!");                            //触发没有命名空间的事件
$cr.trigger("myclick",['我的自定义','事件']);       //触发自定义事件,以数组的形式传递参数
$cr.click();                                      //触发事件,包括绑定事件和默认事件
$cr.triggerHandler("focus");                      //触发绑定事件,但不触发默认事件

jquery系列教程4-事件操作全解的更多相关文章

  1. jquery系列教程2-style样式操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  2. jquery系列教程6-ajax的应用全解

    点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...

  3. jquery系列教程1-选择器全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  4. js系列教程1-数组操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...

  5. css系列教程1-选择器全解

    全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css系列教程1-选择器全解 css系列教程2-样式操作全解 css选择器全解: css选择器包括:基本选择器.属性选择器.伪类选择器.伪元 ...

  6. jquery系列教程3-DOM操作全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  7. jquery系列教程7-自定义jquery插件全解:对象函数、全局函数、选择器

    点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...

  8. [js高手之路] es6系列教程 - 对象功能扩展详解

    第一:字面量对象的方法,支持缩写形式 //es6之前,这么写 var User = { name : 'ghostwu', showName : function(){ return this.nam ...

  9. Android Studio系列教程五--Gradle命令详解与导入第三方包

    Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...

随机推荐

  1. PHP之CI框架第一课

  2. MySQL (九)-- 代码执行结构、函数、存储过程

    1 代码执行结构 代码执行结构有三种:顺序结构.分支结构和循环结构. 1.1 分支结构 分支结构:实现准备多个代码块,按照条件选择性执行某段代码. 在MySQL中只有if分支. 基本语法 if 条件判 ...

  3. MySQL (五)--连接查询简介、 交叉连接、 内连接、外连接、自然连接、温馨小提示

    1 连接查询简介 将多张表(可以大于2)进行记录的连接(按照某个指定的条件进行数据拼接). 最终结果:记录数可能会有变化,字段书一定会增加(至少两张表的合并). 连接查询:join,使用方式:左表 j ...

  4. 团队作业8——第二次项目冲刺(Beta阶段)

    Deadline: 2017-5-28 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的三个个方面 冲刺计划安排(单独1篇博客) 七天的敏捷冲刺(每天发布1篇,共 ...

  5. 事后诸葛亮分析(Beta版本)

    全组讨论的照片 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决代码分析.统计.管理等问题,定义的很清楚,有清晰的描述. 是否有充足的时间来做计划? ...

  6. 团队作业8----第二次项目冲刺(Beta阶段) 第二天

    BETA阶段冲刺第二天 1.开了个小会议 2.每个人的工作 (1) 昨天已完成的工作: 昨天把学生的登录功能完善了并且优化了下界面 (2) 今天计划完成的工作: (3) 工作中遇到的困难: 1.团队还 ...

  7. 201521123101 《Java程序设计》第8周学习总结

    1. 本周学习总结 2. 书面作业,本次作业题集集合 1.List中指定元素的删除(题目4-1) 1.1 实验总结 学习使用泛型,熟悉定义泛型,熟悉List中实现删除 2.统计文字中的单词数量并按出现 ...

  8. 201521123095 《Java程序设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1. ...

  9. 201521123052 《Java程序设计》 第14周学习总结

    1. 本周学习总结 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) 在自己建立的数据库上执行常见SQL语句(截图) - ...

  10. 201521123078 《Java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 1.题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常. ...