jquery系列教程4-事件操作全解
点击打开:
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-事件操作全解的更多相关文章
- jquery系列教程2-style样式操作全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...
- jquery系列教程6-ajax的应用全解
点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...
- jquery系列教程1-选择器全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...
- js系列教程1-数组操作全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...
- css系列教程1-选择器全解
全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css系列教程1-选择器全解 css系列教程2-样式操作全解 css选择器全解: css选择器包括:基本选择器.属性选择器.伪类选择器.伪元 ...
- jquery系列教程3-DOM操作全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...
- jquery系列教程7-自定义jquery插件全解:对象函数、全局函数、选择器
点击打开: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件操作全解 jquery系列教程5-动 ...
- [js高手之路] es6系列教程 - 对象功能扩展详解
第一:字面量对象的方法,支持缩写形式 //es6之前,这么写 var User = { name : 'ghostwu', showName : function(){ return this.nam ...
- Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...
随机推荐
- java1.8新特性
转自:http://www.oschina.NET/translate/everything-about-Java-8 建议去看原文,此处转载只是为了记录. 这篇文章是对Java8中即将到来的改进做一 ...
- jQuery高级Ajax
.load();加载远程的HTML文件代码,并插入到指定的DOM节点中.可以只传入一个参数,表示加载一个静态的HTML代码片段. $("#div1").load("loa ...
- JS学习一
js中的变量输出 [使用JS的三种方式] 1. 在HTML标签中,直接内嵌JS(并不提倡使用): <button onclick="alert('你真点啊!')"> ...
- 【1414软工助教】团队作业8——第二次项目冲刺(Beta阶段) 得分榜
题目 团队作业8--第二次项目冲刺(Beta阶段) 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 团队作业1:团队展示 团队作业2:需求分析&a ...
- 团队作业4——第一次项目冲刺 tHe LaSt dAy
项目冲刺--终点 敏捷冲刺最后一天,没想到前一天就上榜了,我也很无奈啊. 那今天就老老实实写一篇博客好了. Mission 这次敏捷冲刺呢,我们主要做了前端页面,后台的数据库和添加了基本的增删查改的功 ...
- 团队作业8——第二次项目冲刺(Beta阶段)5.20
1.当天站立式会议照片 会议内容: 本次会议为第二次会议 本次会议在陆大楼2楼召开,本次会议内容: ①:检查第一次任务完成情况 ②:做第二次任务的详细分工 ③:规定完成时间是在第三次任务之前 ④:遇到 ...
- 团队作业4——第一次项目冲刺(Alpha版本)5th day
一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 计时模式已经大致完成了 接下来是记录成绩的部分 四.困难与问题 1.新语言的学习与适应较慢,整体的开发进展达不到预期效果, 2 ...
- 201521123111《Java程序设计》第12周学习总结
本次作业参考文件 正则表达式参考资料 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String ...
- Sublime自定义语法
以thinkphp框架的assign函数为例 在sublime\Data\Packages\PHP下 新建文件:assign.sublime-snippet 内容为 <snippet> & ...
- SpringMVC第六篇【校验、统一处理异常】
Validation 在我们的Struts2中,我们是继承ActionSupport来实现校验的-它有两种方式来实现校验的功能 手写代码 XML配置 这两种方式也是可以特定处理方法或者整个Action ...