19. 事件类型

鼠标事件

页面上的所有元素都支持鼠标事件。除了 mouseenter 和 mouseleave ,所有鼠标事件都会冒泡。也可以被取消,而取消鼠标事件将会影响浏览器的默认行为。

类型描述
click在用户单击主鼠标按钮(一般是左边的按钮)或者按下回车键时触发。
dblclick在用户双击主鼠标按钮(一般是左边的按钮)时触发。
mousedown在用户按下了任意鼠标按钮时触发。不能通过键盘触发这个事件。
mouseenter在鼠标光标从元素外部首次移动到元素范围之内时触发。这个事件不冒泡,而且在光标移动到后代元素上不会触发。
mouseleave在位于元素上方的鼠标光标移动到元素范围之外时触发。这个事件不冒泡。
mousemove当鼠标指针在元素内部移动时重复地触发。不能通过键盘触发这个事件。
mouseout在鼠标指针位于一个元素上方,然后用户将其移入另一个元素时触发。
mouseover在鼠标指针位于一个元素外部,然后用户将其首次移入另一个元素边界之内时触发。
mouseup在用户释放鼠标按钮时触发。不能通过键盘触发这个事件。

<img src="onclick.jpg" onclick="alert(this.src)">

鼠标滚轮事件

当用户通过鼠标滚轮与页面交互、在垂直方向上滚动页面时(无论向上还是向下),就会触发 mousewheel事件。这个事件可以在任何元素上面触发,最终会冒泡到 document (IE8)或 window (IE9、Opera、Chrome 及 Safari)对象。与 mousewheel 事件对应的 event 对象除包含鼠标事件的所有标准信息外,还包含一个特殊的 wheelDelta 属性。当用户向前滚动鼠标滚轮时, wheelDelta 是 120 的倍数;当用户向后滚动鼠标滚轮时, wheelDelta 是120 的倍数。


EventUtil.addHandler(document, "mousewheel", function(event){
    event = EventUtil.getEvent(event);
    alert(event.wheelDelta);
});

键盘与文本事件

用户在使用键盘时会触发键盘事件。

类型描述
keydown当用户按下键盘上的任意键时触发,而且如果按住不放的话,会重复触发此事件。
keypress当用户按下键盘上的字符键时触发,而且如果按住不放的话,会重复触发此事件。
keyup当用户释放键盘上的键时触发。
textInput这个事件是对 keypress 的补充,用意是在将文本显示给用户之前更容易拦截文本。

焦点事件

事件描述
blur在元素失去焦点时触发。
focus在元素获得焦点时触发。
focusin在元素获得焦点时触发。支持这个事件的浏览器有 IE5.5+、Safari 5.1+、Opera 11.5+和 Chrome。
focusout在元素失去焦点时触发。支持这个事件的浏览器有 IE5.5+、Safari 5.1+、Opera 11.5+和 Chrome。

触摸与手势事件

事件描述
touchstart当手指触摸屏幕时触发;即使已经有一个手指放在了屏幕上也会触发。
touchmove当手指在屏幕上滑动时连续地触发。在这个事件发生期间,调用 preventDefault()可以阻止滚动。
touchend当手指从屏幕上移开时触发。
touchcancel当系统停止跟踪触摸时触发。
评论

0 条评论