2013-10-15 75 views
4

我的HTML文件:jQuery键盘功能不起作用?

<html> 
<head> 
    <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script> 
    <script type="text/javascript" src="js/scripts.js"></script> 
    <link rel="stylesheet" type="text/css" href="style.css" /> 
    <title> 
    Login 
    </title> 
</head> 
<body> 
<div class=loginForm> 
    <p>Worker-ID:<input type=text id=workerID name=workerID /></p> 
    <p>Password:<input type=password id=workerPassword name=workerPassword /></p> 
    <input type=submit id=submitLogin name=submitLogin value="Log in"/> 
</div> 
</body> 
</html> 

我scripts.js中:

$('#workerID').keyup(function() { 
    alert('key up'); 
); 

它不会在所有的工作。我尝试了一切空间,一个字母,数字。该警报不显示。错误在哪里?

+2

总是寻找错误信息在浏览器的开发者控制台第一 – Phil

回答

23

除了错过}的错字,当您的script.js文件运行时(在<head>部分中),文档的其余部分不存在。要解决这个最简单的方法是另外包装您的脚本文件准备好处理,如

jQuery(function($) { 
    $('#workerID').on('keyup', function() { 
     alert('key up'); 
    }); 
}); 

,你可以在你的脚本移动到文件底部,如

 <script src="js/scripts.js"></script> 
    </body> 
</html> 

或使用事件委派它允许你绑定事件父元素(或文件),例如

$(document).on('keyup', '#workerID', function() { 
    alert('key up'); 
}); 
+1

感谢现在的工作:)我把它移到了最后,它起作用了!我应该总是把JavaScript和jQuery放在最后或者你有什么建议吗? – adiii4

+1

谢谢! $(document).on('keyup','#workerID',function()对我来说一切都没有。 –

+0

This is the correct answer。Thank you @Phil –

0

语法是错误see here

$(document).ready(function() { 
    $("#workerID").keyup(function() { 
    ..................... 
    }); 
}); 

变化);});

2

你缺少大括号关闭功能:

$('#workerID').keyup(function() { 
    alert('key up'); 
}); 

这样的错误,这些通常出现在浏览器的JavaScript控制台。

0

在HTML

inser ID,姓名,淡水河谷在" "

<div class="loginForm"> 
    <p>Worker-ID:<input type="text" id="workerID" name="workerID" /></p> 
    <p>Password:<input type="password" id="workerPassword" name="workerPassword" /></p> 
    <input type="submit" id="submitLogin" name="submitLogin" value="Log in"/> 
</div> 

在JS

$('#workerID').keyup(function() { 
     alert('key up');} // here you forget "}" 
    ); 

demo