Archivlink: javarea.de Forum > JavaScript > Wie ruft man eine Funktion per Tastenkombination auf
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Wie ruft man eine Funktion per Tastenkombination auf

Pages: [1]

geschrieben von zippy am 09.02.2006 - 14:54
Peinlich, peiblich, aber ich kriegs seit einer halben Stunde nicht hin:

Wie rufe ich eine Funktion mit einer Tastenkombination auf? Dabei will ich nicht, dass jeder einzelne Tastendruck eine Prüffunktion, welche Tasten gerade gedrückt sind, auslöst.

Geht darum, ein Formular mit beispielsweise alt+enter abzuschicken...


P.S.: Jeden Tastendruck abzufragen geht eh leicht. Ich suche also einen Befehl, der NUR bei bestimmten Tasten anspringt, also nicht onkeydown, sondern beispielsweise onctrldown, oder ähnliches.

geschrieben von okley am 09.02.2006 - 16:46
Sowas gibt es nicht.
Du musst einen eventhandler registieren.
Die Handlerfunktion prüft dann ob bestimmte Tasten gedrückt wurden und führt die gewünschte Funktion dann aus.


<script type='text/javascript'>/*<![CDATA[*/
function searchNowForString(ev){
var sourcearea = document.getElementById('cmdSearch');
if(!ev) ev = window.event;
if( ev.keyCode == 13 && sourcearea != null) {
sourcearea.click(); return false; }
}document.getElementById('txtSearchstring').onkeydown = searchNowForString;/*]]>*/
</script>

Ich hab mir dazu obige Funktion angeeignet. Diese wird ausgeführt wenn ich in txtSearchstring die Taste Enter drücke. Wenn du das über ein ganzes Formular machen willst (anstelle nur von einem bestimmten Element im Formular), musst du den onkeydown handler einfach auf ein div der z.b. über dein ganzes Formular geht registrieren.

geschrieben von zippy am 09.02.2006 - 19:52
Vielen Dank!
:-)
Derzeit hab ichs so:

PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 

<?
function SendKeys () {
if (
window.event.ctrlKey&&window.event.shiftKey)
ClearInput();
}
document.onkeydown SendKeys;
?>



ClearInput() ist ne Funktion, die auf Klick ein Formular absendet.

SendKeys reagiert in diesem Fall auf ctrl+shift. Leider scheint aber SendKeys() bei jedem Tastenklick angesprochen zu werden, und das will ich nicht. Was ich eben suchte, war ein "onkeydown", das speziell auf bestimmte Tasten anspricht.

:-)


geschrieben von weisnix am 09.02.2006 - 20:27
http://de.selfhtml.org/html/formula....tm#kuerzel


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.