दिलचस्प पोस्ट
SQL सर्वर utf8 howto? जब .पीसी फ़ाइलें ताज़ा हो जाती हैं? कॉम ऑब्जेक्ट्स को सी # से एक्सेस करने का सर्वोत्तम तरीका एंड्रॉइड जावा में पीडीएफ पेज को बिटमैप में कनवर्ट करें हाल के ऐप्स साफ़ करें ऐप मेमोरी पोंछे और मेरे रिसीवर ने काम करना बंद कर दिया HTML5 ईमेल सत्यापन जावा में एक 2d सरणी कॉपी करें मेन-डीएक्स-सूची में बहुत अधिक कक्षाएं, मुख्य डेक्स क्षमता को पार किया गया $ False -eq सच क्यों है? मेरे C # ऐप प्रशासनिक अधिकार कैसे दिए जाएंगे? मैनिफ़ेस्ट फ़ाइल आईसीएस एंड्रॉइड जीपीएस प्रोग्राम को सक्षम करते हैं? InnoDB पर पूर्ण टेक्स्ट खोज को प्राप्त करने का कोई भी तरीका स्विफ्ट में एनएसई एक्सप्शन को पकड़ना मैं Windows में चलने वाली सभी प्रक्रियाओं को कैसे सूचीबद्ध कर सकता हूं? नियंत्रक के अंदर से नियंत्रक और क्रिया नाम प्राप्त करें?

jQuery: एक ईवेंट हैंडलर समारोह में ईवेंट ऑब्जेक्ट को तर्क के रूप में दिए बिना कैसे प्राप्त करें?

मेरे पास लिंक पर एक onclick विशेषता है:

 <a href="#" onclick="myFunc(1,2,3)">click</a> 

यह जावास्क्रिप्ट में इस ईवेंट हैंडलर को इंगित करता है:

 function myFunc(p1,p2,p3) { //need to refer to the current event object: alert(evt.type); } 

चूंकि ईवेंट ऑब्जेक्ट "एव्टी" पैरामीटर को पारित नहीं किया गया है, क्या यह ऑब्जेक्ट प्राप्त करना अभी भी संभव है?

मैंने window.event की कोशिश की। window.event और $(window.event) , लेकिन दोनों undefined हैं

कोई उपाय?

Solutions Collecting From Web of "jQuery: एक ईवेंट हैंडलर समारोह में ईवेंट ऑब्जेक्ट को तर्क के रूप में दिए बिना कैसे प्राप्त करें?"

चूंकि घटना वस्तु "evt" पैरामीटर से पारित नहीं किया गया है, क्या यह वस्तु प्राप्त करना अभी भी संभव है?

नहीं, मज़बूती से नहीं IE और कुछ अन्य ब्राउज़र्स इसे window.event (not $(window.event) ) के रूप में उपलब्ध window.event , लेकिन कई ब्राउज़र नहीं करते हैं।

आप ईवेंट ऑब्जेक्ट को फ़ंक्शन में गुजरते हुए बेहतर हो:

 <a href="#" onclick="myFunc(event, 1,2,3)">click</a> 

यह गैर-आईई ब्राउज़रों पर भी काम करता है क्योंकि वे एक संदर्भ में कोड को निष्पादित करते हैं जिसमें एक event वेरिएबल (और आईई पर काम करता है क्योंकि event window.event को हल करता है)। मैंने इसे आईई 6 +, फ़ायरफ़ॉक्स, क्रोम, सफारी और ओपेरा में कोशिश की है। उदाहरण: http://jsbin.com/iwifu4

लेकिन आपकी सबसे अच्छी शर्त, अभी तक, इस घटना को ठीक से हुक कर रही है:

HTML:

 <a href="#">click</a> 

JQuery का उपयोग कर जावास्क्रिप्ट (जब से आप jQuery का उपयोग कर रहे हैं):

 $("selector_for_the_anchor").click(function(event) { // Call `myFunc` myFunc(1, 2, 3); // Use `event` here at the event handler level, for instance event.stopPropagation(); }); 

… या यदि आप वास्तव में event को myFunc में पास करना चाहते हैं:

 $("selector_for_the_anchor").click(function(event) { myFunc(event, 1, 2, 3); }); 

चयनकर्ता कुछ भी हो सकता है जो एंकर की पहचान करता है आपके पास चुनने के लिए बहुत ही अमीर सेट है (लगभग सभी CSS3, प्लस कुछ)। आप एक id या class एंकर को जोड़ सकते हैं, लेकिन फिर, आपके पास अन्य विकल्प हैं अगर आप कुछ कृत्रिम, महान जोड़ने के बजाय दस्तावेज़ में कहां उपयोग कर सकते हैं।

आईई में आप window.event से घटना वस्तु प्राप्त कर सकते हैं। अन्य ब्राउज़रों में 'use strict' बिना 'use strict' निर्देश के 'use strict' , arguments.callee.caller.arguments[0] से प्राप्त करना संभव है।

 function myFunc(p1, p2, p3) { var evt = window.event || arguments.callee.caller.arguments[0]; } 

इस तरह अपने ईवेंट हैंडलर घोषणा लिखें:

 <a href="#" onclick="myFunc(event,1,2,3)">click</a> 

तब आपका "myFunc ()" फ़ंक्शन ईवेंट तक पहुंच सकता है।

"ऑनक्लिक" विशेषता का स्ट्रिंग मान एक फ़ंक्शन के रूप में परिवर्तित होता है, जो फ़ंक्शन कन्स्ट्रक्टर को बुलाए ब्राउज़र (आंतरिक रूप से) के समान होता है:

 theAnchor.onclick = new Function("event", theOnclickString); 

(IE में छोड़कर) हालांकि, क्योंकि "ईवेंट" आईई में एक वैश्विक है (यह एक विंडो विशेषता है), आप इसे किसी भी ब्राउज़र में फ़ंक्शन के रूप में पारित करने में सक्षम होंगे।

अगर आप मार्कअप पर अपने ईवेंट हैंडलर को कॉल करते हैं, जैसा कि आप अभी कर रहे हैं, आप (एक्स-ब्राउज़र) नहीं कर सकते। लेकिन अगर आप jquery के साथ क्लिक इवेंट बाँधते हैं, तो यह निम्न तरीके से संभव है:

मार्कअप:

  <a href="#" id="link1" >click</a> 

जावास्क्रिप्ट:

  $(document).ready(function(){ $("#link1").click(clickWithEvent); //Bind the click event to the link }); function clickWithEvent(evt){ myFunc('p1', 'p2', 'p3'); function myFunc(p1,p2,p3){ //Defined as local function, but has access to evt alert(evt.type); } } 

घटना ओब के बाद से