मैं एक इवेंटहैंडलर बनाना चाहता हूं जो इवेंट और कुछ मापदंडों को पार करता है। समस्या यह है कि फ़ंक्शन को तत्व नहीं मिलता है। यहाँ एक उदाहरण है:
doClick = function(func){
var elem = .. // the element where it is all about
elem.onclick = function(e){
func(e, elem);
}
}
doClick(function(e, element){
// do stuff with element and the event
});
अनाम फ़ंक्शन के बाहर 'एलेम' को परिभाषित किया जाना चाहिए। अनाम फ़ंक्शन के भीतर उपयोग करने के लिए मैं कैसे पारित तत्व प्राप्त कर सकता हूं? क्या इसे करने का कोई तरीका है?
और addEventListener के बारे में क्या? मुझे लगता है कि मैं इस कार्यक्रम को एक addEventListener के माध्यम से करने में सक्षम नहीं हो सकता हूँ?
अपडेट करें
मैं 'इस' के साथ समस्या को ठीक करने के लिए लग रहा था
doClick = function(func){
var that = this;
this.element.onclick = function(e){
func(e, that);
}
}
जहाँ इसमें यह सम्मिलित है कि फ़ंक्शन में मैं पहुंच सकता हूं।
AddEventListener
लेकिन मैं addEventListener के बारे में सोच रहा हूँ:
function doClick(elem, func){
element.addEventListener('click', func(event, elem), false);
}