Javascript jQuery中的keyevent不工作
我有一个HTML元素,我想在有人按下键盘上的“1”后用特定内容填充它。 我使用一个外部Javascript jQuery中的keyevent不工作,javascript,jquery,html,keyup,Javascript,Jquery,Html,Keyup,我有一个HTML元素,我想在有人按下键盘上的“1”后用特定内容填充它。 我使用一个外部.js文件,其中包含以下代码: $(document).ready(function() { $("#myid").html("Hello, 0111"); $("#myid2").html("Lorem Ipsum"); $(document).keyup(function (pressed_key) { if (pressed_key.key === "1") {
.js
文件,其中包含以下代码:
$(document).ready(function() {
$("#myid").html("Hello, 0111");
$("#myid2").html("Lorem Ipsum");
$(document).keyup(function (pressed_key) {
if (pressed_key.key === "1") {
$("#myid").html("Button pressed");
setTimeout(function () {
$("#myid").html("Button not pressed");
}, 1000);
}
}
});
我的HTML正文如下所示:
<body>
<div id="myid">0129</div>
<div id="myid2"></div>
<script src="js/libs/jquery/jquery.min.js"></script>
<script src="js/script.js"></script>
</body>
0129
代码不工作,它输出HTML文档的内容
但是,如果我注释掉.keyup
函数,其余的JavaScript代码将正常工作并相应地更改HTML内容
有什么想法吗?问题是因为传递给
keyup
处理程序的参数是事件,而不是键入的字符的值
$(document).ready(function() {
$("#myid").html("Hello, 0111");
$("#myid2").html("Lorem Ipsum");
$(document).keyup(function(event) {
if (String.fromCharCode(event.which) === "1") {
$("#myid").html("Button pressed");
setTimeout(function(){
$("#myid").html("Button not pressed");
}, 1000);
}
});
});
要解决此问题,可以使用String.fromCharCode()
,以及事件的属性来获取字符,如下所示:
<body>
<div id="myid">0129</div>
<div id="myid2"></div>
<script src="js/libs/jquery/jquery.min.js"></script>
<script src="js/script.js"></script>
</body>
$(文档).ready(函数(){
$(“#myid”).html(“你好,0111”);
$(“#myid2”).html(“Lorem Ipsum”);
$(文档).keyup(函数(e){
if(String.fromCharCode(e.which)=“1”){
$(“#myid”).html(“按下按钮”);
setTimeout(函数(){
$(“#myid”).html(“按钮未按下”);
}, 1000);
}
});
});代码>
0129
您需要将事件传递给keyup处理程序,而不是所键入字符的值
$(document).ready(function() {
$("#myid").html("Hello, 0111");
$("#myid2").html("Lorem Ipsum");
$(document).keyup(function(event) {
if (String.fromCharCode(event.which) === "1") {
$("#myid").html("Button pressed");
setTimeout(function(){
$("#myid").html("Button not pressed");
}, 1000);
}
});
});
0129
要检查空间
聊天,您可以检查按下的_键。这是一个整数,请尝试使用ascii码作为空格,示例:32
。然后尝试:if(按_key.which==32){…}
。步骤1,始终&下次无需询问,请&谢谢:检查浏览器控制台<代码>未捕获语法错误:无效或意外的令牌
,指的是行设置超时(函数(){
将代码复制并粘贴到十六进制编辑器中,显示字节序列ef bf bc
位于…out
和(有趣…
-因此,请重新键入该部分。这工作正常。使用谷歌jQuery源代码有什么好处?我刚刚将其加载到服务器,以便客户端从那里获取。