我有以下示例代码,当div处于焦点并按下一个键时,应该弹出警告。这做我期望在IE 7,但不是在Firefox 3.5.5。我究竟做错了什么?
<html>
<head>
<title>JS test</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#testdiv").keydown(function(event) {
alert("pressed " + event.keyCode);
});
});
</script>
<style type="text/css">
#testdiv
{
width: 50;
height: 50;
background-color: red;
}
</style>
</head>
<body>
<div id="testdiv"></div>
</body>
</html>
编辑:我刚刚试图替换keydown与keypress和keyup,那些也不工作。顺便说一下,我还确保我的“查找为您键入”设置被关闭,以防万一。
解决方法
你需要给div一个tabindex,这样它可以接收焦点。
<div id="testdiv" tabindex="0"></div>