, मैं श्री Resig द्वारा jQuery Hotkeys plugin उपयोग कर रहा हूँ पर कब्जा और ctrl+o
आदि की तरह शॉर्टकट को संभालने के लिए ...jQuery हॉटकी ... इसलिए वैश्विक नहीं असल में
ठीक है, शायद मैं अवधारणा uderstand नहीं है, लेकिन मैं था इस धारणा के तहत कि ctrl+o
दस्तावेज के अंदर कहीं भी ट्रिगर दस्तावेज़ हॉटकी हैंडलर द्वारा कब्जा कर लिया जाएगा।
उदाहरण के लिए, निम्न कोड सामान्य रूप में काम करता है ...
jQuery(document).bind('keydown', 'ctrl+o', fn);
हालांकि, यह विफल रहता है उपयोगकर्ता हॉटकी से चलाता है जब एक इनपुट बॉक्स के अंदर बुरी तरह यदि।
यह केवल काम करता है अगर मैं निम्न कार्य करें:
jQuery('body, input').bind('keydown', 'ctrl+o', fn);
कौन सा मेरे स्वास्थ्य के लिए बहुत बुरा है, क्योंकि यह बहुत हैंडलर हर बार एक नया इनपुट बॉक्स डोम में जोड़ा जाता है बंधन शामिल है। इससे भी बदतर, मुझे नहीं पता कि CodeMirror जैसे जटिल विजेट्स के मामले में क्या बाध्य होना है।
डुनो अगर मेरी समस्या समझ में आती है, तो शायद मैं गलत दृष्टिकोण का उपयोग कर रहा हूं? मैं भी निम्न वस्तुओं के लिए बाध्य करने की कोशिश की, लेकिन यह काम नहीं किया: window
, document
, body
, div[contains the whole page]
एनबी: आप try it out here कर सकते हैं।
शायद आप यहां 'ऑन()' का उपयोग कर सकते हैं? तो यह कभी भी जोड़े गए हर इनपुट के साथ काम करेगा। या क्या मैं कुछ न कुछ भूल रहा हूं? –
@ टोपरर मैं * सभी * वर्तमान * इनपुट, लेकिन किसी भी * भविष्य * के साथ बाध्य नहीं करना चाहता हूं। इस तरह की घटनाओं को जोड़ने की सुंदरता यह है कि आपको अपने ईवेंट हैंडलिंग फ़ंक्शंस को रखने के लिए वैश्विक चर की आवश्यकता नहीं है, आप आवश्यकता होने पर इसे केवल एक बार करें। – Christian
लेकिन यहां बिंदु घटनाओं को जोड़ने के बारे में नहीं है, बल्कि हॉटकी कार्यक्षमता इसे स्वयं ही करनी चाहिए। मेरा मतलब है, यह एक हॉटकी का मुद्दा है .... नेटबीन्स संपादक में 'ctrl + s' दबाकर नेटबीन्स प्रोजेक्ट लिस्टिंग (उदाहरण के रूप में) के अंदर ऐसा करने का एक ही प्रभाव उत्पन्न होता है। – Christian