duckhunter: Weiterleitung von <a href=""></a> abbrechen

Hi Leute,

ich habe eine Frage bezüglich Javascript. Ich habe folgenden HTML Code:

<a href="neueseite.html" onClick="myFunction()">Text</a>

Wenn nun der User auf "Text" klickt und Javascript aktiviert ist, also myFunction() aufgerufen wird, ist es dann möglich, es zu verhindern, dass neueseite.html aufgerufen wird? Bei mir ruft er nämlich neueseite.html zusätzlich auch noch auf.

Wenn Javascript allerdings nicht aktiviert ist, sollte natürlich neueseite.html aufgerufen werden.

Vielen Dank!

Mfg,
duckhunter

  1. Moin,

    Hi Leute,

    ich habe eine Frage bezüglich Javascript. Ich habe folgenden HTML Code:

    <a href="neueseite.html" onClick="myFunction()">Text</a>

    Wenn nun der User auf "Text" klickt und Javascript aktiviert ist, also myFunction() aufgerufen wird, ist es dann möglich, es zu verhindern, dass neueseite.html aufgerufen wird? Bei mir ruft er nämlich neueseite.html zusätzlich auch noch auf.

    Wenn Javascript allerdings nicht aktiviert ist, sollte natürlich neueseite.html aufgerufen werden.

    function myFunction() {return false;}

    Vielen Dank!

    Mfg,
    duckhunter

    Gruß,
    Take

    1. @@Take:

      nuqneH

      function myFunction() {return false;}

      Nein, nicht myFunction muss false zurückgeben, sondern der Eventhandler. Also

      <a href="neueseite.html" onclick="[code lang=javascript]myFunction(); return false;">Text</a>[/code]

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Hallo Gunnar,

        <a href="neueseite.html" onclick="[code lang=javascript]myFunction(); return false;">Text</a>[/code]

        oder die von Take gepostete Funktion zusammen mit <a href="neueseite.html" onclick="[code lang=javascript]return myFunction();">Text</a>[/code] - das hat dann auch den Vorteil, dass man in myFunction() wahlweise true oder false zurückgeben kann (d.h. dem Link kann oder eben nicht).

        Gruß,
        Tobias

        1. Moin,

          Sorry, da denkt und schreibt jemand mal wieder zu schnell...

          Gruß,
          Take

      2. nicht myFunction muss false zurückgeben, sondern der Eventhandler.

        Um das Missverständnis, dass myFunction der Event-Handler sei, aufzulösen, müsste man erklären, was der tatsächliche Event-Handler (die Handlerfunktion) ist.

        Der Event-Handler ist hier eine Funktion, die automatisch erzeugt wird, wenn man on*-Attribute notiert. Diese beim Parsen des HTML-Codes erzeugte Funktion hat als Körper den JavaScript-Code, der im on*-Attribut steht. Also hier »myFunction(); return false;«.

        Den Effekt von

        <element onclick="JS-Code">

        kann man (ganz grob) folgendermaßen in JavaScript ausdrücken:

        element.onclick = function () { JS-Code };

        (Da fehlt jetzt natürlich einiges, z.B. der Name, der event-Parameter und die erweiterte Scope-Chain.)

        Mathias

  2. Hallo,

    <a href="neueseite.html" onClick="myFunction()">Text</a>
    Wenn nun der User auf "Text" klickt und Javascript aktiviert ist, also myFunction() aufgerufen wird, ist es dann möglich, es zu verhindern, dass neueseite.html aufgerufen wird?

    ja, das ist "Standardwissen". Ein Eventhandler soll false zurückgeben, wenn die Default-Reaktion auf das Ereignis (hier also das Auswerten des Links) nicht mehr stattfinden soll.
    Der Eventhandler schreibt sich übrigens "onclick".

    Wenn Javascript allerdings nicht aktiviert ist, sollte natürlich neueseite.html aufgerufen werden.

    Passt.

    Ciao,
     Martin

    --
    Auch mit eckigen Radios kann man Rundfunk hören.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  3. Moin!

    function myFunction() {  
        // delajetje etot  
        // delajesch take  
    return false;  
    }  
    
    

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix

    1. Hi,

      function myFunction() {

      // delajetje etot
          // delajesch take
      return false;
      }

        
      und daaaaaaaann?  
        
      Cheatah  
      
      -- 
      X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|  
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html  
      X-Will-Answer-Email: No  
      X-Please-Search-Archive-First: Absolutely Yes
      
      1. Moin!

        function myFunction() {

        // delajetje etot
            // delajesch take
        return false;
        }

        
        >   
        > und daaaaaaaann?  
          
        `<a href="neueseite.html" onclick="return myFunction();">Text</a>`{:.language-html}  
          
        natürlich.  
          
        MFFG (Mit freundlich- friedfertigem Grinsen)  
          
        fastix  
        
        -- 
        [Des fastix kleines CMS](http://www.fastix.org/fastix-cms/)
        
        1. @@fastix®:

          nuqneH

          <a href="neueseite.html" onclick="return myFunction();">Text</a>
          natürlich.

          Das hast du jetzt aber abgeschrieben, he? ;-)

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)
          1. Moin!

            Das hast du jetzt aber abgeschrieben, he? ;-)

            Logisch! Ich bin ja nicht Lernresistent (PDF).

            MFFG (Mit freundlich- friedfertigem Grinsen)

            fastix