मेरे पास <input>
है जिसमें onkeydown
इनलाइन ईवेंट हैंडलर है। इस हैंडलर में, मैं एक फ़ंक्शन कॉल करना चाहता हूं और इसमें एक विशेष पैरामीटर पास करना चाहता हूं - ईवेंट डेटा।इनलाइन ईवेंट हैंडलर में ईवेंट डेटा पास करना
जब मैं घटनाओं हैंडल करना चाहते हैं (उदाहरण के लिए onmousemove) पूरे दस्तावेज़ के लिए, मैं निम्नलिखित कोड का उपयोग करें:
document.onmousemove=function(e) {
// here I can make a good use of the 'e' variable,
// for example extract the mouse coordinates from it
}
और यह काम करता है (हालांकि मैं कहाँ e
चर पता नहीं है - घटना डेटा - से आता है)।
लेकिन इस बार मैं उपरोक्त वर्णित <input>
के लिए केवल फ़ंक्शन का उपयोग करना चाहता हूं।
मुझे ईवेंट डेटा को फ़ंक्शन में पास करने की आवश्यकता है ताकि यह दबाए गए कुंजी का कोड प्राप्त कर सके। और मैं इसे उस इनलाइन इवेंट हैंडलर में करना चाहता हूं। मैं एक समारोह बना लिया है:
function myfunc (e) {
var evt=window.event?event:e;
var code=evt.keyCode;
alert (code);
}
और इन सभी विधियों की कोशिश की:
<input onkeydown="myfunc(this)">
<input onkeydown="myfunc(this.onkeydown)">
<input onkeydown="myfunc(onkeydown)">
लेकिन उनमें से कोई भी काम किया, अलर्ट विंडो रखा "अपरिभाषित" प्रदर्शित करना।
मैंने Google में अपनी समस्या का समाधान ढूंढ लिया, लेकिन मुझे कुछ भी नहीं मिला जो इसे हल करने में मेरी मदद कर सके।
तुम सच में बहुत धन्यवाद :) मैं वैश्विक 'event' चर के बारे में पता नहीं था। अब यह पूरी तरह से काम करता है, धन्यवाद। – rhino
अच्छी तरह से आपको जावास्क्रिप्ट इवेंट हैंडलिंग में आने से पहले वास्तव में एक पेपर पढ़ना चाहिए क्योंकि यह विशेष रूप से यदि आप IE से निपटते हैं तो यह गन्दा हो सकता है। वैसे भी, मुझे खुशी है कि मैं मदद कर सकता हूं। – galambalazs
आई 7 और आईई 8 पर काम नहीं करता है – Luckyy