各位大神:关于jQuery keydown 事件,请问这是什么原理啊

weixin_47001164 2021-01-04 12:13:21
给音乐播放器添加keydown事件的时候发现setTimeout不管用。
            
$(document).keydown(function(e) {

// 《↑》:音量加
if (e.which == 38) {
setTimeout(function() {
var i = music.volume * 100
i++
if (i >= 100) { i = 100 }
var i = i / 100
var v = i.toFixed(2)
music.volume = v
}, 100)
}
})

于是想着用keyup先解绑事件看看,结果阴差阳错的给写成了keydown,然而意外的发现居然管用,请问这是什么原理啊,实在是想不明白啊,各位大神们给看看啊

$(document).keydown(function(e) {
if (e.which == 38) { $(document).off('keydown') }
})
...全文
1156 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
葉幺 2021-01-04
  • 打赏
  • 举报
回复
keydown() 是在键盘按下就会触发 keyup() 是在键盘松手就会触发 一个是按下时触发,一个是松开时触发,正常人按下一个键弹起会很快,除非你长按才有区别不然就是顺序的区别
weixin_47001164 2021-01-04
  • 打赏
  • 举报
回复
我的意思是,第二段代码写的也是keydown()
为什么keydown()给keydown()解绑事件off(),能触发setTimeout()?
前一段代码运行时setTimeout()设置没效果啊
谢谢

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧