表单事件:
submit、reset、click、change、focus、blur、input;focus和blur事件不会冒泡,其他所有表单事件都可以;
Window事件:
load、unload、beforeunload、focus、blur、resize、scroll;
鼠标事件:
click、dblclick、mousemove、mousedown、mouseup、contextmenu、mouseover、mouseout、mousewhee、mouseenter不冒泡、mouseleave不冒泡;
传递给鼠标事件处理程序的事件对象有clientX和clientY属性,它们指定了鼠标指针相对于包含窗口的坐标;altKey、ctrlKey、metaKey、shiftKey属性指定了当事件发生时是否有各种键盘辅助键按下;button属性指定当事件发生时哪个鼠标按键按下;
键盘事件:
keydown、keyup、当keydown事件产生可打印字符时在keydown和keyup之间会触发另外一个keypress事件;
拖放事件:
总是基于事件且JavaScript API包含两个事件集,一个在拖放源上触发,另一个在拖放目标上触发;传递给拖放事件处理程序的对象拥有dataTransfer属性;
任何有HTML draggable属性的文档元素都是拖放源,鼠标在拖放源上移动时触发dragstart事件,这个事件的处理程序就调用dataTransfer.setData()指定当前可用的拖放源数据;也可以设置dataTransfer.effectAllowed来指定支持“移动”、“复制”和“链接”传输操作中的几种;可以调用dataTransfer.setDragImage()或dataTransfer.addElement()指定图片或文档元素用做拖动时的视觉表现;
当放置数据发生时会触发dragend事件,如果拖放源支持“移动”操作,它就会检查dataTransfer.dropEffect去看看是否实际执行了移动操作,如果执行了,数据就被传输到其他地方,就应该从拖放源中删除它;
addEventListener():该方法可以为事件目标注册事件处理程序;接受3个参数,第一个是注册处理程序的事件类型,第二个参数是调用的函数,第三个参数是布尔值可忽略;
removeEventListener():从对象中删除事件处理程序函数;接受3个参数;