Nie można usunąć (powiązanego) detektora zdarzeń

Jestem początkującym użytkownikiem javascript i napotykam następujący problem, którego nie udało mi się znaleźć w poprzednich odpowiedziach po wielokrotnym przeszukiwaniu (mam nadzieję, że nie jest to duplikat).

Mam następujący moduł / klasę. Załóżmy, że próbuję zaimplementować komponent, który można przeciągać po ekranie. Kiedyużytkownik klika go po raz pierwszy, zaczynamy słuchaćmousemove wydarzeniawindow wiedzieć, dokąd użytkownik przesuwa mysz. Gdy użytkownik zwolni mysz, chcemy usunąć detektory zdarzeń w oknie. Kod jest dość prosty i działa, jeśli koduję go poza iife. Jednak obecnieremoveEventListener po prostu nie działa. Myślę, że to może mieć coś wspólnego zclousure, thezakres czy coś, ale zupełnie mi tego brakuje. Z góry dziękuję, oto kod:

MyClass.js

 var myNamespace = myNamespace || {};
 (function(myNamespace){

 var onMouseDragDown = function(e){
          window.addEventListener("mousemove", onMouseDragMove,true);
          window.addEventListener("mouseup", onMouseDragUp,false);
       };

  var onMouseDragUp = function(e){
// This code executes, but the events CONTINUE to be triggered after removing the event listener

//The following lines do not seem to have any effect whatsoever even though they are executed when the user releases the mouse button
      window.removeEventListener("mousemove", onMouseDragMove, true);
      window.removeEventListener("mouseup", onMouseDragUp,false);
  };

  var onMouseDragMove = function(e){
      console.log('moving');
   };

   myNamespace.MyClass = function(param){
      this._param = param;
      this._div = document.createElement('div');  
      this._div = ....

      this._div.addEventListener('mousedown', onMouseDragDown.bind(this), false);
   }

   myNameSpace.MyClass.prototype.getDiv = function (){
      return this._div;
   }
)(myNameSpace);

Index.html

...

        function onCreateNewDocumentClicked(event){
            var myObject = new myNamepace.MyClass(someParams);
            document.body.appendChild(mdi.getDiv());
        }

questionAnswers(2)

yourAnswerToTheQuestion