給音樂播放器添加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') }
})
uj5u.com熱心網友回復:
keydown() 是在鍵盤按下就會觸發keyup() 是在鍵盤松手就會觸發
一個是按下時觸發,一個是松開時觸發,正常人按下一個鍵彈起會很快,除非你長按才有區別不然就是順序的區別
uj5u.com熱心網友回復:
我的意思是,第二段代碼寫的也是keydown()為什么keydown()給keydown()解綁事件off(),能觸發setTimeout()?
前一段代碼運行時setTimeout()設定沒效果啊
謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/244501.html
標籤:JavaScript
下一篇:小程式
