遵循HTML5游戏开发教程。当我按下键盘上的up
键时,我无法弄清楚为什么这段代码不会显示警告。
var canvas = document.getElementById("mainCanvas");
var context = canvas.getContext("2d");
var keys = [];
window.addEventListener("keydown", function(e) {
keys[e.keyCode] = true;
}, false);
window.addEventListener("keyup", function(e) {
delete keys[e.keyCode]
}, false);
if (keys[38]) alert("yep");
Chrome控制台清楚地显示keys[38]
为true
,并在控制台中输入if (keys[38]) alert("yep");
即可显示提醒。我想我在这里缺少一个基本的东西(或者从根本上说是愚蠢的)。如果JS代码中没有明显错误,我将很乐意提供更多信息。
谢谢!
答案 0 :(得分:2)
if
将在您的勾选结束时立即调用。一旦你离开那个嘀嗒声,听众就会开始射击。因此,执行keys
时,if
数组无法设置。
之后将调用的代码的唯一部分是传递给keydown
和keyup
事件的两个回调。如果您想对这些事件做出反应,那么您的代码应驻留在那些回调的内。
答案 1 :(得分:1)
您需要将代码(<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler_Page);
function EndRequestHandler_Page(sender, args) {
TinyEditor();
}
$(document).ready(function () {
TinyEditor();
});
</script>
)置于事件监听器中,如下所示:
alert
&#13;