javascript 事件基础知识


javascript 事件基础知识

1. 什么是Event对象:

a) 用来获取事件的详细信息;

b) 不兼容问题:

2. 获取event对象的兼容性写法

a) Var Event = ev || event;

3. Document到底是什么?

a) 是一个节点;

b) 是最顶层的虚拟的父节点,是HTML 的父节点;

c) 通过document可以找到底下的所有的子节点;连HTML也是包含在document里面;

d) Document上加事件,所有东西都有反应;

4. 什么是事件冒泡?

a) 较低层次节点上的事件会节点树一直向上传播;

b) 大多带来的是困扰;

c) 取消冒泡:oEvent.cancelBubble = true;

5. 鼠标事件:

a) 获取可视区位置: clientX, client;

b) 实例: 跟随鼠标的div: 使用scrollTop和scrollLeft消除滚动条的影响;

c) 获取鼠标坐标 :

i. oEvent.clientX+ scrollLeft +"px";

ii. oEvent.clientY+ scrollTop +"px";

6. scrollTop :

a) 是可视区到页面顶部的距离;

b) 兼容性问题:

i. document.documentElement.scrollTop;(IE/FF下)

ii. document.body.scrollTop;(Chrome下)

7. 键盘事件:keyCode

a) keyCode是用户按下的那个按键的键码;

b) 实例:用键盘控制div移动;

c) 三个辅助键:

i. ctrlKey ,shiftKey, altKey

ii. 实例: 键盘提交

8. onclick = onmousedown + onmouseup;

9. onpress = onkeydown + onkeyup;

10.什么是默认行为?

a) 浏览器自带的行为;

b) 阻止默认行为:

i. return false;

11.oncontextmenu : 右键菜单事件;

12.实例:拖拽

a) 原理:鼠标按下的位置和div的距离保持不变,当鼠标移动后,div的位置可以根据鼠标停下的位置重新计算;

b) 三个事件:onmousedown, onmousemove, onmouseup;

c) mousedown时: 找到鼠标和div之间的横向的距离和纵向的距离;

d) mousemove时 : 根据鼠标的位置不断计算div的位置;

e) mouseup时: 将move事件干掉;因为up事件本身在执行后也没用了,所以一并干掉;

f) 将move,和up事件加到document上,而非div;

g) 修正位置,防止拖出页面;

javascript 事件基础知识


分享到:


相關文章: