मेरे पास एक ऐसी वस्तु है जिसमें इसके तरीके हैं। इन विधियों को एक अनाम फ़ंक्शन के अंदर ऑब्जेक्ट में डाला जाता है। यह इस तरह दिख रहा है:
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 में एक विधि है और इसलिए मुझे लगा कि यह संभव है। इस तरह दिखता है:
t.disable = function() {
window.document.removeEventListener("keydown", this, false);
}
मैं ऐसा क्यों नहीं कर सकता?
क्या ऐसा करने का कोई और (अच्छा) तरीका है?
बोनस की जानकारी; यह केवल सफारी में काम करना है, इसलिए लापता IE का समर्थन करता है।