/**
* @Author elongpaox
* @Date 2022/5/19
* @Param time 记录按下时间
* @Param timeer 记录定时器
* @Param is_down 记录是否按下
*/
/**
* @Author elongpaox
* 思路:
* 监听keydown以及keyup事件,因为keydown按下时会触发多次,所以使用is_down记录是否按下用于开关控制。
* 当按下抬起时间较短时,监听是否还会按下按键,如果还会按下按键就清空定时器,如果不会执行结束方法。
*/
var time = null
var timeer = null
var is_down = false
document.addEventListener('keydown', function (event) {
if (event.keyCode == 13) {
if (!is_down) {
is_down = true
console.log('抬起');
time = new Date().getTime()
if (timeer != null) {
clearTimeout(timeer)
timeer = null
}
}
}
})
document.addEventListener('keyup', function (event) {
if (event.keyCode == 13) {
console.log('按下');
if (new Date().getTime() - time < 1500) {
timeer = setTimeout(() => {
alert('执行定时器里面的按下')
}, 1500)
is_down = false
return
}
is_down = false
alert('执行定时器外面')
}
})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)