Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery KeyUp()问题_Javascript_Jquery_Html_Css_Dom - Fatal编程技术网

Javascript jQuery KeyUp()问题

Javascript jQuery KeyUp()问题,javascript,jquery,html,css,dom,Javascript,Jquery,Html,Css,Dom,一旦用户显示“a”,按钮颜色将改变,然后一旦用户释放“a”按钮,它应再次改变。按钮仅在按下字母“a”后改变颜色,而不是松开时改变颜色 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>website</title> <script sr

一旦用户显示“a”,按钮颜色将改变,然后一旦用户释放“a”按钮,它应再次改变。按钮仅在按下字母“a”后改变颜色,而不是松开时改变颜色

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>website</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
    $(document).keyup(function(event) {
        if ( event.which == 97){
            $('.button0 input').css('color', 'rgb(0, 0, 255)');
        }
    });
    $(document).keypress(function(event) {
        if ( event.which == 97){
            $('.button0 input').css('color', 'rgb(128, 0, 0)');
        }
    });
});
</script>
<style type="text/css">
.button0 input{
    position:fixed;
    left:41px;
    top:12px;
    font-family:Arial;
    font-size:8px;
    font-weight:normal;
}
</style>
<body>
    <div class="button0">
        <input type="button" style="width: 303px;height: 165px;" value="Button"/>
    </div>
</body>
</html>

网站
$(函数(){
$(文档).keyup(函数(事件){
if(event.which==97){
$('.button0 input').css('color','rgb(0,0255)');
}
});
$(文档).按键(功能(事件){
if(event.which==97){
$('.button0 input').css('color','rgb(128,0,0'));
}
});
});
.按钮0输入{
位置:固定;
左:41px;
顶部:12px;
字体系列:Arial;
字号:8px;
字体大小:正常;
}

再次执行键控操作时,为什么需要检查键控代码。。如果我理解正确,那么下面的代码应该可以工作

$(document).keyup(function(event) {
     $('.button0 input').css('color', 'rgb(0, 0, 255)');
});
这里

如果您真的想比较关键点并更改颜色,那么您可以执行以下操作

在此更新


链接到代码列表。

再次执行键控时,为什么需要检查键控代码。。如果我理解正确,那么下面的代码应该可以工作

$(document).keyup(function(event) {
     $('.button0 input').css('color', 'rgb(0, 0, 255)');
});
这里

如果您真的想比较关键点并更改颜色,那么您可以执行以下操作

在此更新

链接到代码列表。

来自for
.keypress()

请注意,keydown和keyup提供一个代码,指示按下了哪个键,而keypress指示输入了哪个字符。例如,通过keydown和keypup将小写字母“a”报告为65,但通过keypress将其报告为97。所有事件都将大写字母“A”报告为65。由于这种区别,在捕捉特殊的击键(如箭头键)时,.keydown()或.keyup()是更好的选择

因此,您需要在
keyup
处理程序中将
event.which==97
更改为
event.which==65

来自for
.keypress()

请注意,keydown和keyup提供一个代码,指示按下了哪个键,而keypress指示输入了哪个字符。例如,通过keydown和keypup将小写字母“a”报告为65,但通过keypress将其报告为97。所有事件都将大写字母“A”报告为65。由于这种区别,在捕捉特殊的击键(如箭头键)时,.keydown()或.keyup()是更好的选择


因此,您需要将
keyup
处理程序中的
event.which==97
更改为
event.which==65

似乎是event.which在两个函数中的含义略有不同,因为这将起作用(chrome):


也许jQuery正在规范化event.which(per)for
keyup
,而不是
keypress
,这似乎是event.which在两个函数中的含义略有不同,因为这将起作用(chrome):


也许jQuery正在规范化事件。对于
keyup
,而不是
keypress
,问题是,您在函数上听到的键是错误的,请参阅文档了解:

请注意,keydown和keyup提供了一个代码,指示哪个键是 按下,而按键指示输入的字符。对于 例如,通过keydown和keydup将小写字母“a”报告为65, 但就像97年的按键一样。大写字母“A”报告为65 事件。由于这种区别,在捕捉特殊的击键时 例如箭头键,.keydown()或.keyup()是更好的选择

因此,要修复代码,请将keyup事件更改为:

$(document).keyup(function(event) {
    if (event.which == 65) {
        $('.button0 input').css('color', 'rgb(0, 0, 255)');
    }
});

问题是,您在函数上听到的键不正确,请参阅文档了解:

请注意,keydown和keyup提供了一个代码,指示哪个键是 按下,而按键指示输入的字符。对于 例如,通过keydown和keydup将小写字母“a”报告为65, 但就像97年的按键一样。大写字母“A”报告为65 事件。由于这种区别,在捕捉特殊的击键时 例如箭头键,.keydown()或.keyup()是更好的选择

因此,要修复代码,请将keyup事件更改为:

$(document).keyup(function(event) {
    if (event.which == 65) {
        $('.button0 input').css('color', 'rgb(0, 0, 255)');
    }
});

是否有某种方法可以将97转换为65?这不是jQuery的问题,这是浏览器处理事件的方式
keypress
提供与按键相关的字符,而
keyup
提供一个keycode。是否有某种方法可以将97转换为65?这不是jQuery的事情,这是浏览器处理事件的方式
keypress
提供与按键相关的字符,而
keyup
提供一个keycode。因为键盘上只有一个带有
a
字符的键,但是
a
字符有小写和大写版本。键和大写字符的代码在这里是相同的,您可以使用找到正确的代码来使用。因为键盘上只有一个键带有字符
A
,但字符
A
有小写和大写版本。此处的键和大写字符的代码相同,您可以使用查找正确的代码。为什么要使用
keypress
keypup
而不是
keypdown
keypup
?为什么要使用
keypress
keypup
而不是
keypdown
来匹配
keypdown
。关于在
keyup
上测试keycode,我的猜测是,这可能与这个特定问题无关,但一般来说,用户可以按住多个键,因此专门针对“a”键进行测试更为整洁。+1用于将
keyup
keyup
匹配。关于在
keyup
上测试keycode,我的猜测是,这可能与这个特定问题无关,但一般来说,用户可以按住多个键,因此专门针对“a”键进行测试更为整洁。