为什么这项工作:为什么JQuery keydown适用于窗口而不是文本框?
$(window).keydown(function(event){
alert(event.keyCode);
});
但不是这样的:
$('#ajaxSearchText').keydown(function(event){
alert(event.keyCode);
});
我用Firefox 3测试 有趣的是,他们都没有在IE7中工作。
为什么这项工作:为什么JQuery keydown适用于窗口而不是文本框?
$(window).keydown(function(event){
alert(event.keyCode);
});
但不是这样的:
$('#ajaxSearchText').keydown(function(event){
alert(event.keyCode);
});
我用Firefox 3测试 有趣的是,他们都没有在IE7中工作。
在Chrome,IE7和Firefox 3.0.3中检查了此项。按原样工作。 jQuery版本1.2.6。
<html>
<head>
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript">
$(function()
{
$("#ajaxSearchText").keydown(function(event)
{
alert(event.keyCode);
});
});
</script>
</head>
<body>
<input type="text" id="ajaxSearchText"></input>
</body>
</html>
尝试使用
$('#ajaxSearchText').keyup(function(event){
alert(event.keyCode);
});
作品对我来说非常完美。同时检查textarea的编号
对于您所有的keydown /键盘/键盘需求,请使用jQuery hotkeys插件。
几个月前看到这一点,它永远不会失败打动它。按照跳转插件演示... http://code.google.com/p/js-hotkeys/
它将包括连击在内的所有键映射到键盘上。希望能帮助到你!
要解决在IE6和IE7的问题,试试这个...
$(function()
{
$(document).keydown(function(event){
alert(event.keyCode);
});
});
附加事件到$(document)
似乎这里是神奇的东西。
虽然你的第一个代码真的应该在IE中工作。这似乎是一个在jQuery中的错误,希望很快会被修复...
这里是jQuery的错误报告的链接。 https://bugs.jquery.com/ticket/3614
因为“窗口”对象不支持按键事件。
http://www.w3schools.com/jsref/obj_window.asp
但是,只有在 '文件':
http://www.w3schools.com/jsref/dom_obj_event.asp
如果它没有再工作是jQuery中的错误。
$('#searchInput').keydown(function() {
alert('testing');
});
将不起作用。但是,如果你把它包装在一个函数中:
$(function()
{
$('#searchInput').keydown(function() {
alert('testing');
});
});
它会工作。
没有该函数声明,它只能用于文档和窗口等对象。
建议:提供最小的自包含示例来说明您的问题。 – Shog9 2008-10-09 15:24:27