javascript - HTML select element onchange trigger for already selected option -


मेरे पास एक HTML ड्रॉप डाउन सूची है (एकल चयन)

  & lt; स्क्रिप्ट टाइप = "टेक्स्ट / जावास्क्रिप्ट" & gt; $ (दस्तावेज़) .ready (function () {$ ("# garden")। बाँध ('परिवर्तन', फ़ंक्शन () {चेतावनी ("बदला");});}); & Lt; / स्क्रिप्ट & gt; & LT; बॉडी & gt; & Lt; div id = "content" & gt; & Lt; चुनें आईडी = "बगीचे" & gt; & Lt; विकल्प मान = "फूल" & gt; फूल & lt; / विकल्प & gt; & Lt; विकल्प मान = "झाड़ियां" & gt; झाड़ियों & lt; / विकल्प & gt; & Lt; विकल्प मान = "पेड़" & gt; पेड़ & lt; / विकल्प & gt; & Lt; विकल्प मान = "झाड़ियों" & gt; झाश & lt; / विकल्प & gt; & Lt; / चयन & gt; & Lt; / div & gt; & Lt; / body & gt; & Lt; / html & gt;  

जब HTML पृष्ठ प्रदान किया जाता है, तो फूल डिफ़ॉल्ट रूप से ड्रॉप-डाउन में पहले से चयनित तत्व है (पहले वाला है)। अगर मैं किसी अन्य मूल्य ("फूल" के अलावा) का चयन करता हूं, तो जावास्क्रिप्ट फ़ंक्शन निकाल दिया जाता है और "चेंज्ड" युक्त एक चेतावनी बॉक्स दिखाया जाता है।

प्रश्न 1: लेकिन, अगर मैं फूल फिर से, onchange घटना शुरू नहीं हुई है मैं समझता हूं क्योंकि ड्रॉप डाउन सूची में कुछ भी 'बदला' नहीं था। क्या कोई तरीका है कि कोई फ़ंक्शन शुरू हो गया है, तब भी जब ड्रॉप-डाउन में पहले से चयनित मान में कोई परिवर्तन नहीं हुआ है?

प्रश्न 2: तत्व का मूल्य कैसे निकालेगा जिसे अभी चुना गया है (भले ही कुछ भी न हो नया चयन किया गया - अर्थात, प्रयोक्ता ने ड्रॉप डाउन पर क्लिक किया है, और बस किसी और जगह पर क्लिक किया है।)

मैंने पहले से ही "ब्लॉकर्स" का प्रयास किया है लेकिन इसकी आवश्यकता है कि उपयोगकर्ता दस्तावेज़ पर कहीं और क्लिक करता है ड्रॉप डाउन फोकस खो देता है कोई मदद वास्तव में सराहना की जाएगी।

बहुत बहुत धन्यवाद। [मैंने संक्षेप के लिए प्रदान किए गए कोड स्निपेट में HTML शीर्षलेख और अन्य स्क्रिप्ट इनक्लुशन को संपादित किया है।]

ठीक है, मुझे लगता है कि मैं आपको 100% नहीं प्राप्त करता हूं, लेकिन कुछ चीजें जो मैं सुझा सकता हूँ:

  • एक क्लिक ईवेंट हैंडलर को चयन करें

      $ ("# बगीचे")। बाइंड ('क्लिक', फ़ंक्शन () {चेतावनी ($ (यह)। ढूँढें ('विकल्प: चयनित')। पाठ ());});  
  • एक फ़ोकसआउट ईवेंट हैंडलर

      $ ("# बगीचे") बाँध लें। 'फ़ोकसआउट', फ़ंक्शन () {अलर्ट ($ (यह) .फंड ('विकल्प: चयनित')। पाठ ());});  

और निश्चित रूप से परिवर्तन ईवेंट हैंडलर को बाध्य करें जो आपके पास पहले से मिल चुका है। क्लिक करें ईवेंट हैंडलर थोड़ा सा मुश्किल हो सकता है क्योंकि यह हर बार तत्व पर क्लिक करता है। लेकिन अगर आप अलर्ट () नहीं करते हैं, तो हर बार यह समस्या नहीं होनी चाहिए, आपको वर्तमान चयन मिला है और जो भी आप चाहते हैं उसके साथ ऐसा कर सकते हैं।


Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -