![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Mike, 31. 01. 2002, 11:12
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
Die folgende Nachricht zum Thema stammt von: Joachim, 31. 01. 2002, 11:55
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
Die folgende Nachricht zum Thema stammt von: Knusperklumpen, 31. 01. 2002, 11:58
»» 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>
Die folgende Nachricht zum Thema stammt von: Joachim, 31. 01. 2002, 13:21
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
Die folgende Nachricht zum Thema stammt von: Mike, 31. 01. 2002, 17:04
Hallo Joachim,
vielen Dank so klappt es jetzt wunderbar! Unglaublich wieviel Zeit man für so eine einfache(?) Funktion investieren kann!
Mike
© 1998-2008
Impressum, Software: Classic Forum