कीस्ट्रोक जैसी घटनाएं उत्पन्न करने के बारे में भूल जाओ। यद्यपि आप (विभिन्न गैर पोर्टेबल तरीकों से) ईवेंट बना सकते हैं और उन्हें ईवेंट हैंडलिंग सिस्टम में रूट कर सकते हैं, इससे केवल उचित ईवेंट हैंडलर फ़ंक्शंस को कॉल किया जा सकता है; यह नहीं ब्राउज़र को उपयोगकर्ता द्वारा जेनरेट की गई क्रिया के लिए डिफ़ॉल्ट क्रियाएं करता है जैसे कीस्ट्रोक या माउस क्लिक।
किसी भी मामले में, एस्केप पर रीसेट करने के साथ आप जिस व्यवहार के बारे में बात कर रहे हैं वह एक आईई क्विर्क है: किसी अन्य ब्राउज़र में एस्केप का कोई प्रभाव नहीं पड़ता है, और यहां तक कि आईई में भी अविश्वसनीय है। विशेष रूप से, एक सामान्य रूप में, एक एस्केप प्रेस अंतिम फोकस के बाद से परिवर्तन खो देता है, और पंक्ति में दो एस्केप प्रेस पूरे फॉर्म को प्रारंभिक मानों पर रीसेट करते हैं। हालांकि, अगर फॉर्म में <input type="reset">
है, तो एक एकल एस्केप प्रेस फॉर्म रीसेट करता है और रीसेट बटन पर केंद्रित होता है। यह आपके द्वारा टाइप की गई सभी चीज़ों को गलती से खोना और भी आसान बनाता है और आपके फॉर्म में रीसेट बटन शामिल न करने का एक और अच्छा कारण है।
तो, यदि आप प्रारंभिक मानों पर रीसेट करना चाहते हैं, तो आप form.reset()
पर कॉल कर सकते हैं। यदि आप केवल एक फ़ील्ड रीसेट करना चाहते हैं, तो आप input.value= input.defaultValue
(या input.checked= input.defaultChecked
चेकबॉक्स/रेडियो के लिए सेट कर सकते हैं, और इसी तरह defaultSelected
विकल्पों पर)।
अगर, हालांकि, आप मूल्य उस समय क्षेत्र पिछले फ़ोकस था में उपस्थित थे, के रूप में आईई बर्ताव करता है जब वहाँ कोई रीसेट बटन है, तो आप कुछ चर-याद, जैसे .:
करना होगा चाहते हैं
var undonevalue= $('#undoable').val();
$('#undoable').focus(function() {
undonevalue= $('#undoable').val();
});
$('#undoer').click(function() {
$('#undoable').val(undonevalue);
});
- वहाँ एक डिफ़ॉल्ट जावास्क्रिप्ट संपत्ति कहा जाता है 'defaultValue' है:
ESC कुंजी दबाने से एक इनपुट के लिए डिफ़ॉल्ट मान सेट करने के लिए। आप अलग-अलग तत्वों पर 'input.value = input.defaultValue' का उपयोग कर सकते हैं। बाहरी चर में कोई बिंदु सहेजने वाला डेटा नहीं है जब यह पहले से मौजूद है। डेटा के बजाय एटीआर का उपयोग करने के लिए – Shadow