Javascript 函数在document.onkeydown中不起作用
所以我有一个函数:Javascript 函数在document.onkeydown中不起作用,javascript,jquery,Javascript,Jquery,所以我有一个函数: $(document).ready(function () { function Next() { alert("IM GOING TO DO SOMETHING NOW"); } document.onkeydown = function (e) { if (!e) e = window.event; switch (e.keyCode)
$(document).ready(function () {
function Next() {
alert("IM GOING TO DO SOMETHING NOW");
}
document.onkeydown = function (e)
{
if (!e) e = window.event;
switch (e.keyCode)
{
case 37:
//alert("Left arrow");
Next();
break;
} //End OnKeyDown
}); //End Document load
控制台中显示“Next()不是函数”
我做错了什么
更新:
好的,我想因为我在代码的其他部分使用了jquery.next()和.prev(),所以它不起作用,我只是将next()改为go_next(),它工作得很好
谢谢您忘记了switch语句()上的右括号了:
您缺少一个结束符
}
,正确的缩进使其更加明显。但是,如果这是问题所在,您甚至不会在控制台中收到任何消息。请提供更多关于你的问题的信息和一个正确的例子。你不应该仅仅为了接受答案而接受答案。如果你的问题实际上不同,请用必要的信息更新你的问题,并写下你自己的答案。这将对其他人更有帮助。现在,考虑到您发布的错误消息,接受的答案没有意义,而考虑到您发布的代码,错误消息也没有意义。如果这是问题所在,OP将看到不同的错误消息。由于语法错误,代码无法运行。我已经将OP的代码复制并粘贴到JSFIDLE中,看到语法错误,添加了“}”,现在它可以工作了。是的。但是OP会收到错误消息“Next()不是函数”。因此,我们可以假设代码在语法上是正确的,问题出在其他方面。是的,这不是我的真实代码,真实代码包含500行,它确实在使用(我不是专业的程序员:/),但我认为在document.ready中定义一个函数应该可以正常工作,对吗?是的,在函数中定义函数可以正常工作,但它们将只能从中定义的范围中访问。
$( document ).ready(function() {
function Next()
{
alert("IM GOING TO DO SOMETHING NOW");
}
document.onkeydown=function(e){
if (!e) e=window.event;
switch(e.keyCode) {
case 37:
//alert("Left arrow");
Next();
break;
}
} //End OnKeyDown
}); //End Document load