2011-02-04 15 views
5

में इवेंट समस्या का निरीक्षण करता है मैं प्रोटोटाइप का उपयोग कर रहा हूं और window.dobserve पर window.dobserve कर रहा हूं।प्रोटोटाइप ओपेरा

मैं प्रवेश (कुंजीकोड 13) और alt + f (altKey & & कुंजीकोड = 70) पकड़ रहा हूं।

मेरा कोड फ़ायरफ़ॉक्स, आईई और क्रोम के साथ सुपर काम कर रहा है। ओपेरा संख्या के साथ। दर्ज किया जाता है, लेकिन केवल तभी मेरा ध्यान किसी भी पाठ इनपुट में नहीं है। Alt + F बिल्कुल काम नहीं कर रहा है।

क्या यह प्रोटोटाइप में बग है या मुझे ओपेरा पर कुछ अतिरिक्त 'अतिरिक्त' करने की आवश्यकता है? http://unixpapa.com/js/key.html

दूसरे, आपको पता होना चाहिए वहाँ keydown (या KeyUp) और कुंजी दबाने बीच एक अंतर है: जैसा कि मैंने कहा, अन्य सभी ब्राउज़र मेरी कोड काम करता है ....

उत्तर

2

सबसे पहले में, निम्नलिखित एक उपयोगी संसाधन है । कीप्रेस आमतौर पर संशोधक कुंजी की अनुमति नहीं देता है, हालांकि यह ओपेरा में कुछ नियंत्रण की तरह अनुमति देता है। क्रॉस-ब्राउज़र स्थिरता के लिए कीडाउन का उपयोग करना बेहतर है।

मैं कोई बात नहीं पाठ बॉक्स या दर्ज किया गया है या नहीं, और इस तरह प्रोटोटाइप का उपयोग कर कि क्या कोई फर्क नहीं पड़ता ओपेरा 11.10 में कीकोड === 13 मिलती है:

Event.observe(document, 'keydown', function (e) { 
    alert(e.charCode+'::'+e.keyCode); 
}); 

या देशी विधि सीधे का उपयोग कर (के लिए attachEvent का उपयोग कर आईई):

if (document.addEventListener) { 
    document.addEventListener('keydown', function (e) { 
     alert(e.charCode+'::'+e.keyCode); 
    }, false); 
} 
else { // IE 
    document.attachEvent('onkeypress', function (e) { 
     alert(e.charCode+'::'+e.keyCode); 
    }); 
} 

हालांकि, ऑल्ट वास्तव में एक पाठ बॉक्स के अंदर का पता नहीं है, जब तक (एक नियंत्रण या फ़ंक्शन कुंजी के साथ संयुक्त यह है कि क्रोम या IE में काम नहीं करता है)। ऐसा इसलिए हो सकता है क्योंकि विंडोज़ अनुप्रयोगों को मेनू मेनू तक पहुंच प्रदान करने के लिए alt का उपयोग करता है।

आप नियंत्रण कुंजी() का उपयोग कर और preventDefault का उपयोग कर (जैसे Ctrl-F कोई पृष्ठ प्राप्त कर डिफ़ॉल्ट व्यवहार से बचने के लिए), हालांकि यह अपने उपयोगकर्ताओं को, जो अपने ब्राउज़र व्यवहार अपने पृष्ठ के लिए अक्षम नहीं चाहते हो सकता है परेशान हो सकता है की कोशिश कर सकते।

0

Alt-F मेनू को सक्रिय करता है और ओपेरा जावास्क्रिप्ट को इस कुंजी प्रेस को संभाल नहीं देता है।

संबंधित मुद्दे