AlxDe: onclick und ondblclick gleichzeitig

Hallo,

<button ondblclick="alert('double')" onclick="alert('single')"/>
reagiert immer nur auf einen einfachen Klick. Ein Doppelklick wird schon beim ersten Klick als Einfachklick interpretiert (IE). Ist es bei HTML oder beim IE generell nicht möglich, onclick und ondblclick gemeinsam zu benutzen? Gibt es eine andere Lösung?

Danke im Voraus
AlxDe

  1. Hallo,

    <button ondblclick="alert('double')" onclick="alert('single')"/>
    reagiert immer nur auf einen einfachen Klick. Ein Doppelklick wird schon beim ersten Klick als Einfachklick interpretiert (IE).

    logisch - und nicht nur im IE. Das ist ein Designgrundsatz, der sich durch alle GUIs mit Mausunterstützung und durch alle entsprechenden Applikationen zieht.

    Ist es bei HTML oder beim IE generell nicht möglich, onclick und ondblclick gemeinsam zu benutzen?

    Dein Scheinproblem hat weder mit dem IE noch mit HTML oder Javascript zu tun. Du hast es ganz richtig erkannt: Der erste Klick wird immer als Einzelklick erkannt und löst die für einen Einzelklick definierte Aktion aus. Die darf aber nie so definiert sein, dass sie die mit dem Doppelklick assoziierte Funktion stören könnte.

    Beispiel: Mit einem Einfachklick in einem Datei-Manager wird eine Datei ausgewählt (markiert), mit dem Doppelklick geöffnet. Das Markieren als Reaktion auf den Einzelklick bereitet quasi den Weg für die nachfolgende Doppelklick-Aktion.
    Gegenbeispiel: Ein Programmierer möchte, dass in seinem Datei-Manager der Einfachklick den Eigenschaften-Dialog für eine Datei aufruft, und der Doppelklick die Datei öffnet. Nicht möglich, weil schon beim Einzelklick ein neues Fenster aufpoppt und das ursprüngliche Fenster den zweiten Klick daher gar nicht mehr mitkriegt.

    Du musst also immer genau überlegen, wenn du Einzel- und Doppelklick auf ein Element unterschiedlich nutzen möchtest, ob sich diese Aktionen nicht gegenseitig behindern oder ausschließen.

    Gibt es eine andere Lösung?

    Ja, wenn es unbedingt sein muss: Löse die Reaktion auf den Einzelklick verzögert aus und verwirf das vorgemerkte Ereignis, wenn ein Doppelklick registriert wird.
    Davon würde ich aber prinzipiell abraten, weil es fehleranfällig und schwer zu durchschauen ist - nicht nur für den Programmierer, sondern auch für den Anwender.

    So long,
     Martin

    --
    Computer funktionieren grundsätzlich nicht richtig.
    Wenn doch, hast du etwas falsch gemacht.
  2. Was möchtest Du den machen?