我在主頁上使用jQuery並在窗口加載時添加了一個keylistener。它看起來像這樣:爲什麼我的按鍵處理程序在我使用錨點時不起作用
$(window).load(function(){
var debug = $('#debug'); // this is a fixed div I use to print debug
// information to the screen
$(window).keypress(function(event) {
var keyCode = event.keyCode ? event.keyCode : event.which;
debug.text(keyCode);
if (keyCode == 106 || keyCode == 40)
nextCard();
else if (keyCode == 38 || keyCode == 107)
prevCard();
});
});
您可以從一個卡跳轉到另一個使用箭頭向上和向下箭頭鍵或「J」和「K」。只要頁面被加載而沒有跳轉到錨點,它就可以正常工作。這意味着當我去像http://www.blah.com這樣的頁面時,它工作正常,但是當我像這樣加載它時,它不再起作用。
更新: $(window).load()被觸發,所以這不是問題。
你有什麼想法可能是什麼問題?謝謝!
究竟它是如何不工作?它根本不起作用,或者功能不正確。如果不正確,以什麼方式? –
我的猜測是keypress事件實際上工作得很好,但是'nextCard'和'prevCard'在某些方面行爲不當。在按鍵處理程序的第一行放置一個斷點,將頁面加載到一個錨點,然後按下一個鍵。怎麼了? –
按鍵根本不起作用。我已經更新了上面的代碼,以便您現在可以看到「調試」是什麼。當我按下某個鍵時,鍵碼不會被添加到調試格中。因此該函數根本不會被調用。 – mvieghofer