আমার একটি অবজেক্ট রয়েছে যার এতে পদ্ধতি রয়েছে। এই পদ্ধতিগুলি বেনামে ফাংশনটির ভিতরে অবজেক্টে রাখা হয়। দেখে মনে হচ্ছে:
var t = {};
window.document.addEventListener("keydown", function(e) {
t.scroll = function(x, y) {
window.scrollBy(x, y);
};
t.scrollTo = function(x, y) {
window.scrollTo(x, y);
};
});
(আরও অনেক কোড রয়েছে তবে সমস্যাটি দেখানোর জন্য এটি যথেষ্ট)
এখন আমি কিছু পরিস্থিতিতে ইভেন্ট শ্রোতাদের থামাতে চাই। অতএব আমি একটি অপসারণকারী তালিকা করার চেষ্টা করছি তবে কীভাবে এটি করব তা আমি বুঝতে পারি না। আমি অন্যান্য প্রশ্নের মধ্যে পড়েছি যে বেনামে ফাংশনগুলিতে রিমুভেন্ট লাস্টারকে কল করা সম্ভব নয়, তবে এই পরিস্থিতিতেও কি এই অবস্থাটি রয়েছে?
আমার বেনামে ফাংশনের ভিতরে একটি পদ্ধতি তৈরি হয়েছে এবং তাই আমি ভেবেছিলাম এটি সম্ভব হয়েছিল। এটা এমন দেখতে:
t.disable = function() {
window.document.removeEventListener("keydown", this, false);
}
আমি কেন এটি করতে পারি না?
এটি করার জন্য অন্য কোনও (ভাল) উপায় আছে?
বোনাস তথ্য; এটি কেবল সাফারিতে কাজ করতে পারে, তাই আই আই সমর্থনটি অনুপস্থিত।