Mike: a href mit onClick und onDblClick verwenden

Hi zusammen,

ich möchte mit onClick und onDblClick auf einen Link unterschiedliche Funktionen aufrufen. Leider habe ich das Problem, dass beim Doppelklick der Einfache Klick abgefangen wird.
Mein Code sieht so aus:

<a href="" onDblClick="DblClick(); return false;"  onClick="SingleClick(); return false;">Hit me!</a>

Aus dem thread
http://forum.de.selfhtml.org/archiv/1999_4/t08171.htm#a41131

geht hervor, dass der Fehler in dem "return false;" im onClick Handler liegt. Aber wie halte ich ohne false den Browser davon ab dem Link zu folgen?

Danke für jeden Tip,

Mike

  1. hi,

    <a href="" onDblClick="DblClick(); return false;"  onClick="SingleClick(); return false;">Hit me!</a>

    ich bin mir nicht sicher, ob das ueberhaupt funktionieren kann, denn ein Doppelklick enthaelt immer auch einen einfachen Klick. IMHO waere es besser per oncklick _eine_ Funktion zu rufen, die einen flag setzt und ueber einen setTimeout auswertet, obs nu ein doppelter oder einfacher Klick war.

    hth + Gruss  Joachim

    1. ich bin mir nicht sicher, ob das ueberhaupt funktionieren kann, denn ein Doppelklick enthaelt immer auch einen einfachen Klick. IMHO waere es besser per oncklick _eine_ Funktion zu rufen, die einen flag setzt und ueber einen setTimeout auswertet, obs nu ein doppelter oder einfacher Klick war.

      so in etwa ??

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      <html>
      <head>
       <title>Untitled</title>
      <script>
      i=0;
      function test()
      {
      i++;
      window.setTimeout("weiter()",1000);
      }

      function weiter()
      {
      if(i==1)
       {
       location.href = "bla1.htm"
       }
      if(i==2)
       {
       location.href = "bla2.htm"
       }
      }

      </script>
      </head>
      <body>
      <a href="javascript:test()" onfocus="this.blur()">Hit me!</a>
      </body>
      </html>

      1. hm,

        so in etwa ??

        hmm, bin nicht sicher ob IE5 damit klarkommt. Es klappt uebrigens doch, beide Eventhandler zu setzen, es reicht dann die Auswertung mit setTimeout zu machen:

        <html>
        <head>

        <script language="javascript1.2">
        var delay =  300;
        var wait  =  false;
        function sngl()
        {
         wait = setTimeout("document.feld.ausgabe1.value = 1",delay);
        }

        function dbl()
        {
         document.feld.ausgabe2.value = 2;
         clearTimeout(wait);
        }
        </script>

        </head>

        <body>
        <form Name="feld">
            <input type="text" name="ausgabe1" size="10"><br>
         <input type="text" name="ausgabe2" size="10">
         <input type="Reset">
        </form>
        <a style="font-size:20px" href="#" onclick="sngl(); return false;" ondblclick="dbl(); return false;">link</a>

        </body>
        </html>

        BTW: <a href="javascript:...  solte uebrigens zumindestes in ein void verpackt werden, damit Browser nicht versucht den Link auszufuehren. Dabei koennen naemlich seltsame Dinge passieren.

        Gruesse  Joachim

        1. Hallo Joachim,

          vielen Dank so klappt es jetzt wunderbar! Unglaublich wieviel Zeit man für so eine einfache(?) Funktion investieren kann!

          Mike