Heim  >  Artikel  >  Web-Frontend  >  Gründe und Lösungen für den Verlust von Mouseup-Ereignissen in JavaScript

Gründe und Lösungen für den Verlust von Mouseup-Ereignissen in JavaScript

陈政宽~
陈政宽~Original
2017-06-28 12:45:343093Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich die relevanten Informationen zu den Gründen und Lösungen für den Verlust des MouseupEreignisses in Javascript vor. Der Artikel enthält detaillierte Beispielcodes für Ihre Referenz und Ihr Studium. Freunde, die es brauchen, folgen Sie bitte dem Herausgeber, um zu erfahren.

Vorwort

Bei der Implementierung ähnlicher Funktionen wie der ausgewählte Bereich in Excel geht das Mouseup-Ereignis aufgrund des Fehlens des Mouseup häufig verloren Ereignis, das dazu führt, dass ein vollständiger Vorgang nicht ausgeführt werden kann.

Wenn Sie ziehen und verschieben möchten, können Sie auch auf diesen Artikel verweisen.

Ursache

Es werden derzeit zwei Gründe gefunden:

  • Auslöser Der Drag-Vorgang des Browsers ist deaktiviert, wodurch das Mouseup verloren geht.

  • Da die Maus den Arbeitsbereich verließ, wurde Mouseleave ausgelöst und Mouseup ging verloren.

Lösung

Erster Fall

Verhindern Sie das Das Auslösen des Drag-Vorgangs wird verhindert, indem der Standardvorgang des Systems durch Ausführen des folgenden Codes blockiert wird:

//在事件中
e=e || window.event;
pauseEvent(e);

//阻止事件冒泡
//不仅仅要stopPropagation,还要preventDefault
function pauseEvent(e){
 if(e.stopPropagation) e.stopPropagation();
 if(e.preventDefault) e.preventDefault();
 e.cancelBubble=true;
 e.returnValue=false;
 return false;
}

Der Drag-Vorgang kann verhindert werden, indem die pauseEvent-Methode für das Ereignis aufgerufen wird, sodass Mouseup-Verluste innerhalb des Bereichs vermieden werden können . Selbst wenn Sie einen Drag-Vorgang implementieren möchten, können Sie den Effekt dennoch erzielen, indem Sie ein DOM-Element erstellen, das der Mausbewegung folgt.

Der zweite Fall

Da sich die Maus außerhalb des Bereichs bewegt, wird der Mouseleave-Vorgang ausgelöst. In diesem Fall muss der Mouseleave-Vorgang überwacht werden und wann Der Vorgang wird ausgelöst. Kann den -Status stoppen oder wiederherstellen.

Besonderes Augenmerk sollte darauf gelegt werden

Beim Umgang mit Mausereignissen können Sie auch darüber nachdenken, ob gesteuert werden soll, welche Taste gedrückt wird, um den Vorgang zu ermöglichen .

Es gibt ein Tasten--Attribut im Mausereignis. Dieser Wert zeigt an, dass die Maus eine oder mehrere Tasten gedrückt hat, der Wert ist mehrfach:

0: Keine Schaltfläche oder nicht initialisiert

1: Linke Maustaste

2: Rechte Maustaste

4: Mausrad oder mittlere Taste

8: Die vierte Schaltfläche (normalerweise die Schaltfläche „Browser Zurück“)

16: Die fünfte Schaltfläche (normalerweise die Schaltfläche „Browser Zurück“. „Vorwärts“)

Wenn mehrere Werte vorhanden sind, entspricht dies dem Ausführen einer |-Operation, d. h. wenn die linke und rechte Maustaste gleichzeitig gedrückt werden, 1|2=3 . Sie können value&1!=0 verwenden, um zu bestimmen, ob die linke Taste gedrückt wird. Wenn beispielsweise die linke und die rechte Taste gleichzeitig gedrückt werden, ist 3&1!=0 wahr, was bedeutet, dass die linke Taste gedrückt wird.

Zusammenfassung

Das obige ist der detaillierte Inhalt vonGründe und Lösungen für den Verlust von Mouseup-Ereignissen in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn