jquery keypress event object keyCode for firefox problem?

半城伤御伤魂 提交于 2019-11-26 22:27:16

问题


jQuery keypress event for FireFox gives encrypted keyCode property for event object after String.fromCharCode(e.keyCode) conversion but works perfect in Chrome.

Following is the javascript code:

<!-- #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>

回答1:


You should use e.charCode in Firefox.

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

Try it here:

http://jsfiddle.net/REJ4t/

PS If you're wondering why all this mess: http://www.quirksmode.org/js/keys.html




回答2:


It works for both IE & FF.

 $(document).ready(function (){

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

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

         });


来源:https://stackoverflow.com/questions/6869996/jquery-keypress-event-object-keycode-for-firefox-problem

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!