javascript - Prevent nested label link from following, but change checkbox state -
मेरे पास एक ऐसा मुद्दा है जहां मेरे पास निम्न मार्कअप है:
& lt; input type = "चेकबॉक्स" id = "foo" / & gt; & Lt; लेबल = "foo" & gt; के लिए & Lt; a href = "http://www.google.com" & gt; चेकबॉक्स पाठ & lt; / a & gt; & Lt; / लेबल & gt; उपयोगकर्ता के पास जावास्क्रिप्ट सक्षम नहीं होने पर लेबल में नेस्टेड एंकर हैं, और उस स्थिति में वे लेबल पर क्लिक करते समय लिंक का पालन करेंगे।
I चेकबॉक्स स्थिति को बदलते समय लिंक को क्लिक करने और एक चेतावनी दिखाने के लिए निम्नलिखित जावास्क्रिप्ट / jQuery हैं:
$ (फ़ंक्शन () {$ ("लेबल")। क्लिक करें (फ़ंक्शन (E) {e.preventDefault ();}); $ ("# foo")। परिवर्तन (फ़ंक्शन () {चेतावनी ("चेकबॉक्स बदल गया");});});
हालांकि लेबल पर क्लिक करने पर चेकबॉक्स को चिह्नित स्थिति परिवर्तित नहीं होती है।
मुझे पता है कि मैं hack < / Em> कोड की जाँच करें और चेक की गई स्थिति को सेट करने के लिए कोड को जोड़कर मूल ब्राउज़र की कार्यक्षमता का प्रयास करें और उसका अनुकरण करें, हालांकि मैं इसे अनुकूलन की तुलना में देशी कार्यक्षमता का उपयोग करना पसंद करूंगा। मैं कैसे चेकबॉक्स बदल सकता हूं राज्य को लिंक का पालन किए बिना, और जावास्क्रिप्ट का उपयोग करके चेक किए गए राज्य को स्थापित किए बिना?
बिट यहाँ उलझन में और जावास्क्रिप्ट का उपयोग करके चेक किए गए राज्य को निर्धारित किए बिना? ... लेकिन मुझे लगता है कि आप ट्रिगर () ... $ ("label $ Foo.attr ("चेक किया हुआ",! $ Foo.attr ("चेक किया गया")); $ foo.trigger (' परिवर्तन '); वापसी वापस;});
Comments
Post a Comment