鼠标移入移出事件流程:
鼠标移动到目标元素上时会触发mouseover 事件,
如果继续在目标元素上移动会不断触发mousemove事件,
鼠标移出元素的那一刻,触发mouseout事件
其他鼠标事件:
scroll :目标元素的滚动条发生移动时(滚动滚轮/拖动滚动条。。)
mousewheel:滚动滚轮触发,这个和scroll事件需要区别开来。
mousedown :如果按下鼠标上的设备(左键,右键,滚轮……)
mouseup:当设备弹起的时候触发事件
jquery鼠标移入移出区别:
mouseover与mouseenter
不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。
只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。
mouseout与mouseleave
不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。
事件绑定移除机制:
target.addEventListener(type,listener,useCapture)
target.removeEventListener(type,listener,useCapture);
解释:
target :文档节点、document、window 或 XMLHttpRequest。
type :字符串,事件名称,不含“on”,比如“click”、“mouseover”、“keydown”等。
listener :实现了 EventListener 接口或者是 JavaScript 中的函数。
useCapture :是否使用捕捉,一般用 false。
其他常用方法:
取消事件默认行为:
e.preventDefault();//IE以外
e.returnValue = false;//IE 不能用return false代替的
阻止事件冒泡 :
e.stopPropagation();//IE以外
e.cancelBubble = true;//IE
事件流 :
DOM同时支持两种事件模型:捕获型事件和冒泡型事件
并且每当某一事件发生时,都会经过捕获阶段->处理阶段->冒泡阶段(有些浏览器不支持捕获)
获取更多的文章,欢迎关注微信公众号