jQuery - div 上的 keydown() 在 Firefox 中不起作用

标签 jquery internet-explorer firefox events keydown

我有以下示例代码,当 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>

编辑:我刚刚尝试用 keypresskeyup 替换 keydown ,但这些不起作用任何一个。顺便说一句,我还确保关闭了“键入时查找”设置,以防万一。

最佳答案

您需要为 div 指定 tabindex,以便它可以接收焦点。

<div id="testdiv" tabindex="0"></div>

关于jQuery - div 上的 keydown() 在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1717897/

相关文章:

jquery - 弗洛特。时间序列。每天一跳动

javascript - scrollTop 似乎不正确

javascript - window.scroll 函数和删除类的奇怪行为

javascript - 在“面板”上显示当前页面的 URL 和标题

javascript - 调用方法时位置 X [object Object]' 的值无效:[nsIDOMEventListener::handleEvent]

firefox - 在 Firefox 中导出同步选项卡

javascript - 客户端向服务器请求无响应

IE8 XP 中的 CSS 问题,但 IE8 Vista 或 7 中没有

php - 仅在 IE 8 中重叠元素

html - 禁用的文本区域无法在 Windows Phone 上滚动