2009-04-24 17 views

उत्तर

137

जब आप अपने मूल्य जरूरी बदल बिना एक वस्तु से दूर चले गए onBlur घटना निकाल दिया जाता है।

onChange घटना केवल कहा जाता है जब आप फ़ील्ड का मान बदल गया है और यह ध्यान केंद्रित खो देता है।

आप quirksmode's intro to events पर एक नज़र डालें कर सकते हैं। जब आप इसके साथ बातचीत करते हैं तो आपके ब्राउज़र में क्या हो रहा है, इस बारे में जानकारी प्राप्त करने के लिए यह एक शानदार जगह है। उनकी किताब भी अच्छी है।

+1

क्विर्कमोड के बारे में आपका लिंक धुंध के बारे में बात नहीं करता है, केवल मूल घटनाएं – stackdave

3

ऑन चेंज तब होता है जब किसी फ़ील्ड में कुछ बदलता है उदाहरण के लिए, आप टेक्स्ट इनपुट में कुछ लिखते हैं।

onBlur जब आप एक क्षेत्र जैसे से दूर ध्यान केंद्रित लेते हैं, आप एक पाठ इनपुट में लिख रहे थे और आप इसे बंद क्लिक किया है है।

तो सच में वे लगभग एक ही बात लेकिन onChange तरह से है कि इनपुट बदलने की जरूरत onBlur कुछ करता है व्यवहार करने के लिए कर रहे हैं।

4

ऑनब्लूर तब होता है जब आपका ध्यान अब क्षेत्र में नहीं है।

ऑनब्लर प्रॉपर्टी ऑनब्लर इवेंट हैंडलर कोड, यदि कोई हो, तो वर्तमान तत्व पर मौजूद है।

ऑन चेंज तब होता है जब फ़ील्ड का मान बदलता है।

9

चीजों को ठोस बनाने के लिए एक उदाहरण।

<select onchange="" onblur=""> 
    <option>.... 
</select> 

onblur() जब आप यहां से कहा जाता है: आप एक चयन इस प्रकार है। onchange() को तब से कॉल किया जाता है जब आप चयन से एक अलग विकल्प चुनते हैं - यानी आप इसे बदलते हैं जिसे वर्तमान में चुना गया है।

+1

एक और उदाहरण: प्रकार 'संख्या' के इनपुट में, ऊपर/नीचे तीरों पर क्लिक करने से एक परिवर्तन ईवेंट (लेकिन धुंधला घटना नहीं) आग लग जाएगी, जबकि टाइपिंग फ़ील्ड फोकस खोने पर केवल एक परिवर्तन घटना का कारण बनता है। –

17

ऑनबुर आग जब एक फ़ील्ड फोकस खो देता है, जबकि उस फ़ील्ड के मान में परिवर्तन होने पर अस्थायी आग लगती है। हालांकि, ये घटनाएं हमेशा एक ही क्रम में नहीं होतीं।

Firefox में, एक बदली हुई क्षेत्र से बाहर टैब onchange तो onBlur आग जाएगा, और यह सामान्य रूप से IE में भी ऐसा ही होगा। हालांकि, यदि आप टैब के बजाय एंटर कुंजी दबाते हैं, तो फ़ायरफ़ॉक्स में यह बदले में बदलेगा, जबकि आईई आमतौर पर मूल क्रम में आग लगाएगा। हालांकि, मैंने उन मामलों को देखा है जहां आईई पहले भी धुंधला आग लगाएगा, इसलिए सावधान रहें। आप यह नहीं मान सकते कि या तो ऑनब्लूर या नतीजे दूसरे के सामने होंगे।

7

फ़ायरफ़ॉक्स में केवल तभी आग लगती है जब आप टैब या अन्य इनपुट फ़ील्ड के बाहर क्लिक करते हैं। ओनब्लूर के बारे में भी यही सच है। अंतर यह है कि ऑनब्लर आग लगाएगा कि आपने मैदान में कुछ भी बदल दिया है या नहीं। यह संभव है कि ENTER इनमें से एक या दोनों को आग लगाएगा, लेकिन आप नहीं जानते कि अगर आप अप्रत्याशित सबमिट को रोकने के लिए अपने फॉर्म में ENTER अक्षम करते हैं।

3

मुझे लगता है कि यह ध्यान रखना महत्वपूर्ण है कि ऑनब्लूर() आग पर ध्यान दिए बिना।

यह एक उपयोगी धागा है, लेकिन केवल एक चीज यह स्पष्ट नहीं करती है कि ऑनब्लूर() हर बार आग लग जाएगी।

ऑन चेंज() केवल तभी आग लग जाएगा जब मूल्य बदल जाएगा।

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