2011-07-29 11 views
11

फ़ायरफ़ॉक्स के लिए jQuery कीप्रेस इवेंट keyCodeके बाद एन्क्रिप्टेड keyCode संपत्ति String.fromCharCode(e.keyCode) रूपांतरण के बाद संपत्ति देता है लेकिन क्रोम में सही काम करता है।फ़ायरफ़ॉक्स समस्या के लिए jquery keypress event object keyCode?

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

उत्तर

19

आप 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/

पुनश्च आप सोच रहे हैं कि क्यों यह सब गड़बड़: http://www.quirksmode.org/js/keys.html

+0

एक आकर्षण की तरह काम किया ... धन्यवाद :) –

+1

e.charCode || e.keyCode <= यह बिल्कुल सही है :) – Jasmeen

+0

बस ध्यान रखें कि MDN e.keyCode और e.charCode और e.which के अनुसार बहिष्कृत हैं। मैं उस से थोड़ा आश्चर्यचकित था क्योंकि प्रतिस्थापन, जिसे ईकोड कहा जाता है, का उचित समर्थन नहीं होता है। ऐसा लगता है कि अब विकल्प है e.key जिसमें IE9 समर्थन है – Mattijs

1

यह दोनों आईई & एफएफ के लिए काम करता है।

$(document).ready(function(){ 

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

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

     }); 
संबंधित मुद्दे