मैं इसjQuery href और onclick जुदाई
<a id="id101" href="javascript:func1();" onclick="return func2();">Link</a>
func2 सही या गलत रिटर्न की तरह कोड है। फिर, func1 केवल तभी कॉल किया जाता है जब function2 सत्य लौटाता है। सही ?
सीखने jQuery में, मुझे पता चला है कि onclick अच्छा नहीं है और मूल्यह्रास हुआ, तो मैं
<a id="id101" href="javascript:func1();">Link</a>
jquery
$("#id101").click(func2() {
//same stuffs from before which was in func2
});
के कोड से ऊपर संशोधित अब, मेरी सवाल है:
के बाद क्लिक हैंडलर लिया जाता है की देखभाल, मैं जावास्क्रिप्ट के अंदर जावास्क्रिप्ट के साथ क्या कर सकता हूं? क्या मुझे func1 को func2 में jQuery में क्लिक करना चाहिए func2 के हैंडलर पर क्लिक करें, जब func2 के अंदर की स्थिति सच है? या क्या कुछ सुरुचिपूर्ण समाधान है?
इसके अलावा, एचटीएमएल और इवेंट कोड को अलग करना अच्छा है, लेकिन यहां आईडी id101
के साथ इस तत्व के साथ कई घटनाएं हो सकती हैं, और एक बड़ी फ़ाइल में, कई घटनाओं के साथ कई HTML तत्व हो सकते हैं। इसलिए, जब मेरे पास कई ईवेंट हैंडलर के साथ एक बड़ा पृष्ठ है, तो मैं बेहतर तरीके से कैसे जान सकता हूं कि कौन से एचटीएमएल तत्व में और कितने घटनाएं जुड़े हैं?
अधिक उपरोक्त प्रश्न के रूप में अनुरोध करने के लिए विवरण,
मैं मतलब id101 onclick हो सकता है, onmouseover, onmouseout और कई अन्य तरह की घटनाओं। ऐसे कई ईवेंट हैंडलर के साथ ऐसे कई तत्व हो सकते हैं। मैं उन्हें बेहतर कैसे खोज सकता हूं? पुरानी शैली में, इस तरह के सभी ईवेंट हैंडलर सभी को एक साथ रखा गया है, जैसे
<a id="id101" href="javascript:func1();" onclick="return func2();">Link</a>
।
मैं यह नहीं कह रहा कि यह अच्छा है, लेकिन कम से कम मैं देख सकता हूं कि यह इस घटना पर है। लेकिन अब जब jquery फ़ाइल में इसे विभाजित करते हैं, तो मुझे id101 के लिए पहली बार इस jquery फ़ाइल को खोजना होगा और फिर इसके साथ जुड़े ईवेंट की जांच करनी होगी, जो HTML तत्वों के साथ समस्या हो सकती है जिसमें कई तत्व और संबंधित ईवेंट हैंडलर हैं। क्या उस जानकारी को खोजने का कोई बेहतर तरीका है?
सब पर "href" में जावास्क्रिप्ट न रखें। ईवेंट हैंडलर में बस (सशर्त रूप से, यदि आप चाहते हैं) ऐसा करें। – Pointy
@endroix: जैसा पॉइंटी ने कहा, बस संपूर्ण 'href' विशेषता को हटा दें। इनलाइन जेएस बुरी खबर है। और, जब आप jQuery चयनकर्ता से जुड़ते हैं, तो आपको आईडी इंगित करने के लिए '#' का उपयोग करना होगा। अभी आपका jQuery शायद कुछ भी नहीं कर रहा है। इसे '$ ("# id101") में बदलें।();' पर क्लिक करें, और उस पूरे 'href =" x "' को हटा दें। – Josh
@ जोश, मैं भूल गया #। अब – newcoderintown