this in Funktion bei setTimeout
nadin
- javascript
Hallo,
ich hab da ein Problem. Hab dazu in der Hilfe nix gefunden. Ich will eine Klick- und eine Doppelklickfunktion zu gleich in eine Zeile einbauen. Siehe wie folgt:
<tr id="p<%=rs("per_nr")%>" onmouseover="blau(this)" onmouseout="weiss(this)" ondblclick="merker++;loesch(this,0);return false;" onclick="merker++;tout = setTimeout('loesch(this,2)',500);return false;">
Das Problem hierbei ist, dass 'this' in der Funktion loesch(), welche ich im setTimeout aufrufe, undefined ist. wie mach ich es, dass sich this auf die Zeile bezieht, wie bei ondblclick?
Danke für eine Antwort.
MfG nadin
Hi,
Das Problem hierbei ist, dass 'this' in der Funktion loesch(), welche ich im setTimeout aufrufe, undefined ist. wie mach ich es, dass sich this auf die Zeile bezieht, wie bei ondblclick?
indem Du setTimeout anstelle eines Strings eine (per new function() erzeugte) Funktion übergibst.
Cheatah
Hallo,
ich hab da ein Problem. Hab dazu in der Hilfe nix gefunden. Ich will eine Klick- und eine Doppelklickfunktion zu gleich in eine Zeile einbauen. Siehe wie folgt:
<tr id="p<%=rs("per_nr")%>" onmouseover="blau(this)" onmouseout="weiss(this)" ondblclick="merker++;loesch(this,0);return false;" onclick="merker++;tout = setTimeout('loesch(this,2)',500);return false;">
Das Problem hierbei ist, dass 'this' in der Funktion loesch(), welche ich im setTimeout aufrufe, undefined ist. wie mach ich es, dass sich this auf die Zeile bezieht, wie bei ondblclick?
Danke für eine Antwort.
MfG nadin
Hi
versuch mal ob das return false wegbleiben kann
ondblclick="merker++;loesch(this,0)"
onclick="merker++;tout = setTimeout('loesch(this,2)',500)">
baue lieber dein return in function loesch() mit ein
und nehme das merker++ auch in in die function loesch()
ondblclick="loesch(this,0)"
onclick="tout = setTimeout('loesch(this,2)',500)"
jetzt noch die tout raus in eine extra Funktion
function nadin77(){
tout = setTimeout('loesch(this,2)',500)";
}
ondblclick="loesch(this,0)"
onclick="nadin77()"
--- das ist scheinbar für HTML ein verständlicher Code
PS.: mit diesem this habe ich keinerler Erfahrung
probieren !!
Ulf
Hi,
Das Problem hierbei ist, dass 'this' in der Funktion loesch(), welche ich im setTimeout aufrufe, undefined ist. wie mach ich es, dass sich this auf die Zeile bezieht, wie bei ondblclick?
this bezieht sich auf das uebergeordnete Element - hier dann also auf window, denn setTimeout ist eine window-Methode. Setze also die Referenz auf tr als String ein.
Gruesse, Joachim