Ein (gebundener) Ereignis-Listener kann nicht entfernt werden

Ich bin ein Neuling in Javascript und habe das folgende Problem, das ich in früheren Antworten nach mehrmaliger Suche nicht gefunden habe (ich hoffe, dies ist kein Duplikat).

Ich habe das folgende Modul / die folgende Klasse. Angenommen, ich versuche, eine Komponente zu implementieren, die über den Bildschirm gezogen werden kann. Wenn derDer Benutzer klickt das erste Mal daraufWir fangen an zu lauschenmousemove Ereignisse derwindow um zu wissen, wohin der Benutzer die Maus bewegt. Sobald der Benutzer die Maustaste loslässt, möchten wir die Ereignis-Listener des Fensters entfernen. Der Code ist ziemlich einfach und funktioniert, wenn ich ihn nur außerhalb eines Lebenszeichens codiere. Derzeit ist jedoch dieremoveEventListener funktioniert einfach nicht. Ich denke, es könnte etwas mit dem zu tun habenSchließung, dasUmfang oder so, aber ich vermisse es total. Vielen Dank im Voraus, hier ist der Code:

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());
        }

Antworten auf die Frage(2)

Ihre Antwort auf die Frage