আমি একটি ইভেন্টহ্যান্ডলার তৈরি করতে চাই যা ইভেন্ট এবং কিছু পরামিতিগুলি পাস করে। সমস্যাটি হ'ল ফাংশনটি উপাদানটি পায় না। এখানে একটি উদাহরণ:
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
});
'এলেম' অবশ্যই বেনামি ফাংশনের বাইরে সংজ্ঞায়িত করা উচিত। বেনামে ফাংশনটিতে কীভাবে উত্তীর্ণ উপাদানটি ব্যবহার করতে পারি? এই কাজ করতে একটি উপায় আছে কি?
এবং অ্যাডএভেন্টলিস্টনার সম্পর্কে কী? আমি কি কোনও অ্যাডভেন্টলিস্টনারের মাধ্যমে ইভেন্টটি পাস করতে সক্ষম হচ্ছি বলে মনে হয় না?
হালনাগাদ
আমি 'এটি' দিয়ে সমস্যার সমাধান করেছি বলে মনে হয়েছিল
doClick = function(func){
var that = this;
this.element.onclick = function(e){
func(e, that);
}
}
যেখানে এটিতে এই উপাদানটি রয়েছে যা আমি ফাংশনে অ্যাক্সেস করতে পারি।
#EventListener
তবে আমি অ্যাডভেন্টলিস্টনার সম্পর্কে ভাবছি:
function doClick(elem, func){
element.addEventListener('click', func(event, elem), false);
}