Ok, es herausgefunden. Es scheint ein Artefakt zu sein, das entsteht, wenn ein Element aus einer Vorlage erstellt wird und die Art und Weise implementiert wird, wie mouseenter
implementiert wird.
Das Problem ist, dass das mouseenter
Ereignis (hoverOn
Teil der .hover()
) auslöst, wenn es nicht sollte. Jedes Mal, wenn ein neues Ionicon aus einer Vorlage erstellt wird, löst es das Ereignis mouseenter
aus, wenn sich der Cursor ein wenig bewegt.
Logisch mouseenter
sollte nicht ausgelöst werden, wenn das Element erscheint, weil mouseenter
ausgelöst werden soll, wenn ein Listener-Element oder dessen Abkömmling über schwebt, und nur dann aufrufen, wenn der Cursor alle Elemente des Ereignisses verlässt und dann eintritt nochmal. Ich denke, das ist ein Artefakt, ein Element aus einer solchen Vorlage zu erstellen. Vielleicht liegt es daran, dass DOM aktualisiert wird und die Tatsache verwirft, dass sich der Cursor bereits innerhalb des Elements befindet. So löst mouseenter
erneut aus und löst wiederum das Erstellen eines neuen Spielsymbols aus. Dann wiederholt es sich.
Diese codepen sollte es gut erklären. Wenn Sie den Mauszeiger über die Wiedergabetaste bewegen, wird der Zähler mouseenter
jedes Mal erhöht, wenn Sie die Maus ein wenig bewegen, da jedes Mal, wenn eine Maus bewegt wird, eine neue Wiedergabeschaltfläche erstellt wird. Wenn Sie die Zeile löschen, die eine neue Wiedergabeschaltfläche erstellt, verhält sie sich wie mouseenter sollte und nur ausgelöst wird, wenn der Cursor das Element betritt.
Danke, deine Antwort ist gut und ja, hide() scheint hier besser geeignet zu sein, aber meine Frage ist eher theoretisch, ich versuche zu verstehen, was der Grund dafür sein könnte, wie es sich verhält:/ – redFur
@ IvanInTheHat kann man den Punkt durch console.log ('irgendwas') in hovOn Funktion bekommen .. und sehen Sie die Konsole, wenn td Hover, td click, ein Klick –
Ja, tat es und fand es heraus, danke! – redFur