Auslöser eines blur-events ermitteln
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
button
code
druck
element
ende
endlosen schleife
fokus
folgen
frage
funktion
index
input
liste
problem
springen
tab
taste
wald
wissen
-
Hallo Community,
das Problem vor dem ich stehe, bezieht sich auf eine Liste mit mehreren inputs, die ganz gewohnt per Tab durchgewechselt werden können.
Nun habe ich einen event-listener auf die inputs, der bei onblur prüft, ob es sich um das inputfeld handelt, das im vorletzen <li> ist (im letzen <li> ist immer ein + Button) . Wenn im vorletzen Element der onblur getriggert wird, würde der fokus normal wieder auf das erste element springen. Ich hänge aber stattdesen am ende (genauer gesagt, als vorletzes) ein neues <li> mit einem neuen, leeren <input> an und fokusiere dieses.
Soweit, sogut, jetzt stehe ich aber vor dem problem, dass das zu einer endlosen Schleife führt, sobald ich einmal im vorletzen element war.
Meine Frage ist nun also: Kann ich irgendwie über das event-object herausfinden, durch welches ereigniss mein blur-event getriggert wurde? Also ob es durch drücken der Tab-Taste, oder durch einen Mausklick irgendwohin ausgelöst wurde.
Ich hoffe Ihr könnt meinem Problem folgen.
JS Funktion
$(document).on("blur","#Attributwerte ul li input",function(e){ if( $(this).parent().index() == ($("#Attributwerte ul li").length - 2) ){ //if( e.auslöser == 'Tab' ){ <- hier müsste ich wissen, ob der Auslöser ein Tab-Druck war, oder etwas anderes $("#Attributwerte ul #addItem").before(emptyItem); $(this).parent().parent().find("li:eq(" + ($("#Attributwerte ul li").length - 2) + ") input").focus(); // } } });
Edit:
Habe das Problem gelöst:
Event-listener auf keydown und geprüft ob der keyCode 9 (also TAB) ist.
Manchmal sieht man eben den Wald vor lauter Bäumen nicht.
Beitrag zuletzt geändert: 8.7.2013 13:58:16 von freezinger -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage