Felix Riesterer: Popup durch Bild

Beitrag lesen

Liebe(r) Player X,

wobei es bei einem Link besser wäre, wenn sich zuerst noch ein Popup mit einer Frage öffnet,

merke: Es ist niemals besser, wenn sich beim Klick auf einen Link ein Popup öffnet. In aller Regel führt der Link zu einem neuen Dokument. Manchmal zeigt er den Inhalt eingebunden an (Stichwort Lightbox). Aber eine Frage will ich definitiv nicht gestellt bekommen, ob ich mir sicher bin, dass ich diesen Link wirklich öffnen möchte.

Es gibt eine einzige echte Ausnahme für das oben Geschilderte: Wenn die fragliche Seite ein Formular enthält, in dessen Eingabefeldern seit dem Laden Änderungen gemacht wurden, dann ist es sinnvoll und richtig danach zu fragen, ob diese Änderungen durch das Anklicken eines Links verworfen werden sollen, also wie Du schreibst:

ob man den Link wirklich öffnen will.

Du schreibst aber nichts von einem solchen Szenario, weshalb ich den Verdacht hege, dass ein solches Popup von Dir mir ganz schnell auf die Nerven gehen wird, weil es mich für dumm verkauft.

Kann mir vielleicht jemand sagen, was ich eingeben muss, damit das Popup durch ein Bild statt einen Button geöffnet wird?

Diese Frage ist technisch falsch gestellt. Ein Bild kann nichts öffnen. Auch kein Popup. Aber einen Link kannst Du so präparieren, dass der Browser nicht schlicht zum neuen Dokument überleitet. Dazu benötigst Du JavaScript, denn rein mit HTML-Mitteln kannst Du nicht pauschal alle Links im Dokument „abfangen“, weil im Formular Änderungen eingetragen wurden. Und ein Link kann als anklickbaren Bereich auch ein Bild beinhalten.

In JavaScript definierst Du eine Funktion, welche im Falle eines Klick-Ereignisses ausgeführt werden soll. Das macht man, indem man einen EventListener verwendet. Und wenn dann Deine Funktion im Falle eines Klicks im Dokument aufgerufen wird, dann prüfst Du, ob ein Link angeklickt wurde. Das klappt z.B. damit, dass Du das Objekt, welches im Event-Objekt als target definiert ist, mit der browserinternen Liste document.links abgleichst. Wenn dann tatsächlich ein Link angeklickt worden ist, kannst Du prüfen, ob Du auf Deiner Seite ein Formular hast und ob darin noch nicht übertragene Änderungen sind. Wenn ja, kannst Du verhindern, dass der Browser dem Link folgt und dann etwas anderes tun, wie z.B. ein Popup einblenden.

Liebe Grüße

Felix Riesterer