为什么jquerykeydown适用于窗口而不适用于文本框?
为什么这样做有效:为什么jquerykeydown适用于窗口而不适用于文本框?,jquery,Jquery,为什么这样做有效: $(window).keydown(function(event){ alert(event.keyCode); }); 但不是这个: $('#ajaxSearchText').keydown(function(event){ alert(event.keyCode); }); 我正在用Firefox3进行测试。 有趣的是,它们都不适用于IE7。尝试使用 $('#ajaxSearchText').keyup(function(event){ ale
$(window).keydown(function(event){
alert(event.keyCode);
});
但不是这个:
$('#ajaxSearchText').keydown(function(event){
alert(event.keyCode);
});
我正在用Firefox3进行测试。
有趣的是,它们都不适用于IE7。尝试使用
$('#ajaxSearchText').keyup(function(event){
alert(event.keyCode);
});
这对我很有用。还要检查文本区域的id,在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”).keydown(函数(事件)
{
警报(事件键码);
});
});
对于所有的按键/上键/键盘需要,请使用jQuery热键插件
几个月前看到这一点,它总是给人留下深刻印象。跟随插件演示的跳转
它映射键盘上的所有键,包括组合键。希望有帮助 要解决IE6和IE7中的问题,请尝试以下
$(function()
{
$(document).keydown(function(event){
alert(event.keyCode);
});
});
将事件附加到$(文档)
似乎是这里的神奇之处
不过,您的第一段代码也应该在IE中工作。这似乎是由于jQuery中的一个bug,希望很快就能修复
这里是jQuery中bug报告的链接 因为“窗口”对象不支持键事件 但仅在“文件”上: 如果它曾经工作过,那么它就是jQuery中的一个bug
$('#searchInput').keydown(function() {
alert('testing');
});
这是行不通的。但是,如果将其包装在函数中:
$(function()
{
$('#searchInput').keydown(function() {
alert('testing');
});
});
它会起作用的
如果没有函数声明,它只适用于文档和窗口等对象。建议:提供尽可能小的自包含示例来说明您的问题。此错误报告以“非错误”结束,因为“窗口”不支持关键事件。另请参阅此处:我将添加一条注释,以帮助任何像我这样偶然发现此问题的人。在jQuery 1.4.2及更高版本上运行的这个插件的版本在这里:jQuery已经具备了回答这个问题所需的一切,一个插件并没有真正的帮助。对不起,这是完全错误的。请告诉我们如何轻松地使用本机jQuery捕获ctrl+alt+del。如果您使用ascii/密钥代码,您已经丢失了。。。