Nein, es ist völlig in Ordnung e.preventDefault()
auf Ihrem googleMap
Objekt zu verwenden.
Der Ereignis-Listener ist auf einem DOM-Element. Es spielt keine Rolle, wie Sie dieses DOM-Element gefunden haben, unabhängig davon, ob Sie eine ID, ein Tag, eine Klasse oder eine andere Methode verwendet haben.
ocument.getElementById("googleMap")
gibt ein DOM-Element zurück. Sobald Sie den Verweis auf das DOM-Element haben, spielt es keine Rolle, wie Sie es gefunden haben. Es ist ein Verweis auf das DOM-Element, egal wie es gefunden wurde.
Eines muss man vorsichtig mit e.preventDefault()
zu tun haben, ist, dass einige Ereignisse, die Kette fortpflanzen, und wenn Sie das Ereignis einen Teil des Weges sind Abfangen der Kette nach oben, wird das Ereignis bereits weiter unten in der Kette verarbeitet worden sein kann , etwas von dem zu besiegen, was du verhindern willst. Wenn Sie also vollständige Kontrolle darüber haben möchten, was mit dem Ereignis passiert, müssen Sie möglicherweise das Ereignis auf der niedrigsten Ebene (am ursprünglichen Objekt, auf das das Ereignis ausgerichtet ist) erfassen.
Der Zweck e.preventDefault()
ist eine Standardaktion zu verhindern, dass der Browser was Ereignis zugeordnet auftritt. Die Standardaktion beim Klicken auf einen Link im Browser besteht beispielsweise darin, der href dieses Links zu folgen und eine neue Seite mit dieser URL zu laden. Wenn Sie möchten, dass der Link nicht dem Link folgt, sondern den Klick in Ihrem Javascript übernimmt und etwas anderes macht, rufen Sie e.preventDefault()
an. Wenn Sie den Standard nicht verhindern, führt der Browser die Standardaktion für dieses Ereignis aus, nachdem der Ereignishandler ausgeführt wurde.
Wenn es keine Standardaktion für ein Ereignis gibt oder wenn Sie nicht versuchen, die Standardaktion zu verhindern, rufen Sie sie nicht auf. Im Allgemeinen würden Sie nur e.preventDefault()
verwenden, wenn der Browser eine Standardaktion ausführt, die nicht ausgeführt werden soll. Andernfalls lassen Sie es aus Ihrem Code heraus. Wenn Ihr Code ohne e.preventDefault()
einwandfrei funktioniert, fügen Sie ihn nicht hinzu, da er unter diesen Umständen nicht benötigt wird.
ok aber was ändert sich, wenn e.preventDefault() vorhanden ist oder nicht? Ich verstehe nicht :( – Borja
@MatisLepik Ich bin hier, um Hilfe zu haben und zu verstehen, wie funktioniert ... Entschuldigung, aber Ihr Kommentar don'have Sinn – Borja
@Borja - Ich fügte einen Abschnitt meiner Antwort, die erklärt e.preventDefault () '. – jfriend00