对于这个例子,我有一个简单的html标记:
<input id="INPUT"/>
我现在想要实现的是当用户键入某些内容时。他的输入在#INPUT
中显示。我试过这个,但不知何故它不起作用:
$('document').keydown( function(e) {
$('#INPUT').focus();
});
我应该怎么做?谢谢http://jsfiddle.net/GdVvd/
你不需要在document
两边加上引号,因为如果你把它放在引号里,选择器会寻找具有tagName
匹配"文档"的元素。
现场演示
$(document).keydown( function(e) {
$('#INPUT').focus();
});
HTML5的解决方案是简单地给你的input
元素一个autofocus
属性。这将使其在页面加载时聚焦:
<input id="input" autofocus />
JSFiddle demo.
但请注意,此解决方案目前不适用于IE或Firefox。
请从文档中删除单引号,请尝试以下操作:
$(document).keydown( function(e) {
$('#INPUT').focus();
});
吉斯菲德尔
你应该删除引号:
$(document).keydown( function(e) {
$('#INPUT').focus();
});
您需要像这样从文档中删除"。
$(document).keydown( function(e) {
$('#INPUT').focus();
});
http://jsfiddle.net/GdVvd/
删除document
周围的single quotes
,您的 js 函数将像其他用户指出的那样工作。这也意味着用户按下的任何键都会使文本框成为焦点。相反,您可以进一步尝试检查要允许用户使用的有效密钥。
//var keycodes = [];
$(document).keydown( function(e) {
if(e.which == 'somekeycode')
$('#INPUT').focus();
});