jQuery keypress撇号

时间:2014-09-07 01:58:47

标签: javascript jquery

如何使撇号键事件有效?我试图在它前面加一个反斜杠,但它似乎不起作用。对不起,我知道这是一个超级基本的问题...

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>test</title>
  </head>
  <body>
    <p class="check"></p>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    $(document).keypress(function(e) {
        if(e.which === 48) {
            zero = true;
            keyMsg = "0 = ";
            checkKey(zero);
        }
    });
    $(document).keypress(function(e) {
        if(e.which === 44) {
            apss = true;
            keyMsg = "\' = ";
            checkKey(apss);
        }
    });
    function checkKey(key) {
        if (key === true) {
            $(".check").html(keyMsg + "true");
        }
    }
    </script>
  </body>
</html>

1 个答案:

答案 0 :(得分:2)

'的正确密钥代码为39.

在Firefox中,有一个keyborad快捷方式,在按下'时会触发“仅在链接文本中快速查找”,因此您必须使用e.preventDefault()来阻止此操作。

Fiddle

上的演示
$(document).keypress(function(e) {
    if(e.which === 48) {
        zero = true;
        keyMsg = "0 = ";
        checkKey(zero);
    }
});

$(document).keypress(function(e) {
    if(e.which === 39) {
        e.preventDefault();
        apss = true;
        keyMsg = "' = ";
        checkKey(apss);
    }
});

function checkKey(key) {
    if (key === true) {
        $(".check").html(keyMsg + "true");
    }
}