Skip to main content

doubleclick 鼠标双击事件

doubleclick

类型: MethodDeclaration

定义位置: input.ts

描述

鼠标双击事件

参数 event: 鼠标事件

参数

参数名类型描述默认值
eventMouseEvent--

返回值

类型: void

源代码

位置: 第 550 行

private doubleclick(event: MouseEvent): void {
if (!event.cmdOrCtrlKey &&
!event.altKey &&
!event.shiftKey) {
switch (event.button) {
case 0: {
// 用鼠标按下事件来模拟鼠标双击事件
// 原生的鼠标双击事件在第二次弹起时触发
// 而模拟的在第二次按下时触发,手感更好
// 要求:按键间隔<500ms,抖动偏移<4px
if (Mouse.doubleclickCache !== null &&
event.timeStamp - Mouse.doubleclickCache.timeStamp < 500 &&
Math.abs(event.clientX - Mouse.doubleclickCache.clientX) < 4 &&
Math.abs(event.clientY - Mouse.doubleclickCache.clientY) < 4) {
Input.emit('doubleclick', new ScriptMouseEvent(event))
Mouse.doubleclickCache = null
} else {
Mouse.doubleclickCache = event
}
break
}
default:
Mouse.doubleclickCache = null
break
}
}
}

文档生成时间:2025/7/7 12:07:06