Javascript 身体上的钥匙?
每当我按下一个键,我都想得到提醒 我试过:Javascript 身体上的钥匙?,javascript,jquery,Javascript,Jquery,每当我按下一个键,我都想得到提醒 我试过: $('body').live('keyup', function() { alert('testing'); }); 但它不起作用,可能是因为选择器吗 更新: 这是我的密码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="ht
$('body').live('keyup', function() {
alert('testing');
});
但它不起作用,可能是因为选择器吗
更新:
这是我的密码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>TODO supply a title</title>
<script type="text/javascript" src="../system/media/js/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('body').live('keyup', function() {
alert('testing');
});
});
</script>
</head>
<body>
<p>
TODO write content
</p>
</body>
</html>
提供头衔
$(文档).ready(函数(){
$('body').live('keyup',function()){
警报(“测试”);
});
});
TODO写入内容
当我按下某个按钮时,它不会提醒我,尽管当我将keyup
替换为mouseover
并将鼠标移到TODO write content
为什么它不工作?它不工作,因为您的页面没有焦点。。你需要先点击页面,它就会工作 或者,您可以强制将焦点设置为输入元素,从而将焦点设置为页面
$(function(){ $('input_selector_here').focus(); });
尝试使用$(“html”)
或$(“*”)
而不是$(“正文”)
。为了激发body上的keyUp
事件,必须聚焦body节点或其子节点之一。在示例中,可以通过添加文本输入并将鼠标聚焦到该输入来实现这一点。您真正想要的是捕获任何按键,因此$(“html”)
应该可以工作
编辑:我认为您的示例可能有效,但在任何情况下,要有条件地运行逻辑,您可以尝试以下方法:
if ($(document.body).is(".focusOnKeypress")) {
$("html").live(...);
}
或者,我认为这也会起作用:
$("body:not(.noFocusOnKeypress)").parent("html").live(...);
听窗户的声音
$(window).keydown(function(event){
alert(event.keyCode);
});
希望这会有所帮助
$(document.body).on('keyup', function (e) {
alert('In');
}):
我试过这个密码。这很好用
$('body').on('keyup', function() {
alert('testing');
});
当鼠标位于文本框或其他输入控件内时,您是否在按键?否。我没有任何东西聚焦。只需按下一个键,它就会自动聚焦并粘贴到输入字段中的该按键。如果我输入“hello”,我希望这些信息显示在输入框中。你的测试对我有效。你能提供更多的信息,或者一个演示网页吗?你是否在任何输入字段中输入?我只需单击外部并键入一些内容,但我没有收到任何警报…当我从输入字段中键入内容或使用鼠标覆盖时,它就会工作..上面的代码对我有效。确保页面具有焦点,并且某些内容没有停止事件传播(另一个keyup事件处理程序).我已经点击了该页面,因此在我键入任何内容之前它会被聚焦…但仍然不起作用..我将用另一个页面再试一次,看看我当前的页面是否有问题page@ajsie如果单击
元素以外的任何位置,则事件将在文档而不是正文中注册。主体与内容的高度相同。试试看,谢谢,它奏效了。如何选择整个页面而不是某个特定的类。尝试了$('html:not(.noFocusOnKeypress)'),但不起作用这在IE8或更低版本中不起作用。