导航
function stopBubble(e) {
if (e.stopPropagation) {
e.stopPropagation()
} else {
window.event.cancelBubble = true;
}
}
function stopDefault(e) {
if (e.preventDefault) {
e.preventDefault();
} else {
window.event.returnValue = false;
}
}
当子元素都需要绑定相同事件时,可以将事件绑在父元素上,优点有:
事件 | 说明 |
---|---|
click | 单机鼠标左键触发 |
dbclick | 双击鼠标左键触发 |
mousedown | 单机鼠标任意一个按键都触发 |
mouseup | 松开任意鼠标按键时触发 |
mouseover | 鼠标指针出某个元素到另一个元素上时触发 |
mouseout | 鼠标指针位于某个元素上且将要移出元素边界时触发 |
mousemove | 鼠标在某个元素上时持续发生 |
mouseenter | 鼠标进入某个元素边界时触发 |
mouseleave | 鼠标离开某个元素边界时触发 |
注明:event 对象上的 keyCode 属性,是按下的按键的 ASCLL 值,通过这个值可辨别是按下哪个按键。ASCLL 表在此 ASCII 码一览表,ASCII 码对照表
事件 | 说明 |
---|---|
onkeydown | 某个键盘按键被按下时触发 |
onkeyup | 某个键盘按键被松开时触发 |
onkeypress | 某个按键被按下时触发,不监听功能键,如ctrl,shift |
移动端的触摸事件与鼠标事件不同,它们专为触摸屏设备设计,常用于处理手指的滑动、点击等交互。以下是常见的移动端触摸事件,按照名称、触发条件和用途进行了整理。
事件名称 | 触发条件 | 用途 |
---|---|---|
touchstart |
当手指触摸屏幕时触发。 | 记录初始的触摸点,开始监测触摸操作。 |
touchmove |
当手指在屏幕上滑动时持续触发。 | 检测触摸点的移动,用于拖动、滑动等操作。 |
touchend |
当手指离开屏幕时触发。 | 结束触摸事件,处理抬手后的操作,比如点击。 |
touchcancel |
触摸事件被中断时触发,例如弹窗出现或触摸点离开屏幕。 | 取消触摸操作的处理,通常用于清理数据。 |
touchstart
:类似于鼠标的 mousedown
,当用户手指接触屏幕时触发。可以用来记录触摸的起点,或开始处理滑动的逻辑。touchmove
:类似于鼠标的 mousemove
,当用户手指在屏幕上滑动时触发。常用于处理拖动或滑动手势。touchend
:类似于鼠标的 mouseup
,当用户手指离开屏幕时触发。可以用来检测触摸操作的结束,常用于处理点击事件或者结束滑动。touchcancel
:当系统取消触摸事件时触发,可能是因为触摸超出了屏幕边缘或其他系统中断。touches
:当前屏幕上所有手指的触摸点列表。targetTouches
:当前与事件目标相关的手指的触摸点列表。changedTouches
:自上次触摸事件后发生了变化的触摸点列表,通常是引发事件的触摸点。这些触摸事件为移动设备提供了灵活的交互方式,允许开发者通过手势进行更加丰富的操作,例如滑动、缩放、旋转等。
属性 | 说明 | 兼容性 |
---|---|---|
offsetX | 以当前的目标元素左上角为原点,定位x轴坐标 | 除Mozilla外都兼容 |
offsetY | 以当前的目标元素左上角为原点,定位y轴坐标 | 除Mozilla外都兼容 |
clientX | 以浏览器可视窗口左上角为原点,定位x轴坐标 | 都兼容 |
clientY | 以浏览器可视窗口左上角为原点,定位y轴坐标 | 都兼容 |
pageX | 以doument对象左上角为原点,定位x轴坐标 | 除IE外都兼容 |
pageY | 以doument对象左上角为原点,定位y轴坐标 | 除IE外都兼容 |
screenX | 以计算机屏幕左上顶角为原点,定位x轴坐标(多屏幕会影响) | 全兼容 |
screenY | 以计算机屏幕左上顶角为原点,定位y轴坐标 | 全兼容 |
layerX | 最近的绝对定位的父元素(如果没有,则为 document 对象)左上顶角为元素,定位 x 轴坐标 | Mozilla 和 Safari |
layerY | 最近的绝对定位的父元素(如果没有,则为 document 对象)左上顶角为元素,定位 y 轴坐标 | Mozilla 和 Safari |
window.location.href = "<https://www.onlineinterviewquestions.com/>")
window.location.replace("<https://www.onlineinterviewquestions.com/>")