事件总结

事件

1、鼠标事件
(1)redDiv . onclick = fubction( ){ }; 点击事件
(2)redDiv . onmouseover = function( ){ }; 从父级移入子级的时候触发
(3)redDiv . onmouseout = function( ){ }; 从父级移出子级的时候触发
(4)redDiv . onmouseenter = function( ){ }; 移入父级和子级整体的时候触发
(5)redDiv . onmouseleave = function( ){ }; 移出父级盒子级整体的时候触发
(6)redDiv . onmousedown = function( ){ }; 鼠标按下
(7)redDiv . onmouseup = function( ){ }; 鼠标抬起
(8)redDiv . ondbclick = function( ){ }; 鼠标双击
(9)redDiv . oncontextmenu = function( ){…return false;} 鼠标右键,阻止默认事件
(10)redDiv . onmousemove = function( ){ };鼠标移动
2、键盘事件:
只有成为焦点的元素才能触发键盘事件
(1)document . onkeydown = function( ){ }; 键盘按下 支持特殊按键,command shift 但不区分大小写,A和a的keyCode都是65
(2)document . onkeyup = function( ){ }; 键盘抬起
(3)document . onkeypress = function( ){ } 键盘按下 不支持特殊按键,但keyCode区分大小写
target 点哪个就是哪个,是触发事件的元素,触发事件的元素不一定是绑定事件的元素

3、表单事件
(1)name . onchange = function( ){ }; 内容发生了变化
(2)name . onblur = function( ){ }; 失去焦点
(3)name . onfocus = function( ){ }; 获取焦点
(4)name . oninput = function( ){ } ; 输入了内容
(5)form . onsubmit = function( ){ return false;}; 用户提交了表单
(6)form . onreset = function( ){ }; 表单重置
4、移动端事件
(1)redDiv . ontouchstart = function( ){ }; 点击事件,相当于onmousedown
(2)ontouchend
(3)touchmove
(4)
5、window事件
(1)window.onload = function( ){ } 在窗口加载完毕之后才会执行
不要在window.onload里面使用document.write。因为窗口加载完毕之后会关闭文档流,如果使用document.write会开启新的文档流覆盖原有的所有内容。
(2)window.onresize = function( ){ }窗口大小发生变化的hi后就会触发这个事件
(3)window.onunload = function( ){ }关闭窗口时触发的事件
6、滚轮事件
(1)mousewheel

事件对象

1、键盘事件对象
(1)keyCode 获取对应触发事件的键盘,其对应按键打印出来为一个数值
keydown :可以获取特殊键,但key Code不区分大小写
keypress:keyCode可以区分大小写,但不能获取特殊键
获取键盘事件:非火狐可以通过window.event获取,火狐通过传参获取,兼容写法如下:
documrnt . onkeydown = function( ev ){
var evObj = window.event || ev;
console.log(evObj . keyCode);
}
(2) metaKey:metaKey 事件属性可返回一个布尔值,指示当事件发生时,"meta" 键是否被按下并保持住。
(3)altKey:altKey 事件属性可返回一个布尔值,指示当事件发生时,"alt" 键是否被按下并保持住。
2、事件对象的作用
(1)可以获得和哪个按键结合:
(2)获得点击所在的位置
clientX和clientY,针对于浏览器视窗而言
offsetX和offsetY,相对于自身而言
screenX和screenY,相对于显示屏而言
(3)获得点击所对应的标签 ev.target
3、移动短事件对象
touches/targetTouches/changedTouched

默认事件:

return false;、evObj.returnValue = false;、evObj.preventDefault();
捕获:从父级接收到消息,传递给子集的过程
冒泡:事件处理的默认顺序(从子集->父级)true(从父级->子集)
取消冒泡:evObj.cancelBubble=true;

事件绑定、解除:

非IE
addEventListener(type,fn,false)//type 事件 不带on
removeEventListener(type,fn,false)//
IE
attachEvent("onclick",f1);
detachEvent("onclick",f1);

你可能感兴趣的:(事件总结)