আপনি পারবেন না। আপনাকে একটি নামকৃত ফাংশন ব্যবহার করতে হবে বা কোনওভাবে রেফারেন্সটি সঞ্চয় করতে হবে।
var handler;
function doSomethingWith(param) {
handler = function(){
document.write(param);
};
document.body.addEventListener('scroll', handler,false);
}
setTimeout(function() {
document.body.removeEventListener('scroll', handler ,false);
}, 3000);
কাঠামোগত উপায়ে এটি করা সবচেয়ে ভাল হবে, যাতে আপনি বিভিন্ন হ্যান্ডলার সনাক্ত করতে এবং সেগুলি সরাতে পারেন। উপরের উদাহরণে, আপনি অবশ্যই কেবলমাত্র শেষ হ্যান্ডলারটি সরাতে পারেন।
হালনাগাদ:
আপনি নিজের হ্যান্ডলার হ্যান্ডলার তৈরি করতে পারেন (:)):
var Handler = (function(){
var i = 1,
listeners = {};
return {
addListener: function(element, event, handler, capture) {
element.addEventListener(event, handler, capture);
listeners[i] = {element: element,
event: event,
handler: handler,
capture: capture};
return i++;
},
removeListener: function(id) {
if(id in listeners) {
var h = listeners[id];
h.element.removeEventListener(h.event, h.handler, h.capture);
delete listeners[id];
}
}
};
}());
তারপরে আপনি এটির সাথে এটি ব্যবহার করতে পারেন:
function doSomethingWith(param) {
return Handler.addListener(document.body, 'scroll', function() {
document.write(param);
}, false);
}
var handler = doSomethingWith('Test. ');
setTimeout(function() {
Handler.removeListener(handler);
}, 3000);
ডেমো