jquery keypress事件对象keyCode for firefox问题?

时间:2011-07-29 07:39:21

标签: javascript jquery events keypress keycode

FireFox的jQuery keypress事件为事件对象提供加密的keyCode属性 转换String.fromCharCode(e.keyCode)后,但在Chrome中效果很好。

以下是javascript代码:

<!-- #booter and #text are ids of html element textarea -->

<script type="text/javascript">        
    $(function(){
        $('#booter').keypress(function(e){              
            var input = $(this).val() + String.fromCharCode(e.keyCode);
            $('#text').focus().val(input);
            return false;
        });
    });
</script>

2 个答案:

答案 0 :(得分:20)

您应该在Firefox中使用e.charCode

$("#booter").keypress(function(e){
     var code = e.charCode || e.keyCode;
     var input = $(this).val() + String.fromCharCode(code);
     $('#text').focus().val(input);
     return false;
});

在这里试试:

http://jsfiddle.net/REJ4t/

PS 如果你想知道为什么这么乱:http://www.quirksmode.org/js/keys.html

答案 1 :(得分:1)

适用于IE和&amp; FF。

 $(document).ready(function (){

         $('#txtEntry').keypress(function (e) {

             $('#lnkValidEdit').focus();
             return false;

         });