sagen, dass ich eine Form haben, die wie folgt aussieht:jQuery: Wie Zusatztasten auf Formular verwenden einreichen?
[ Animal name input field ]
Taste
hinzufügen Wenn ich einen Namen eingeben und drücken Sie die Eingabetaste, ein Tier mit dem angegebenen Namen wird zu einer Tabelle hinzugefügt. Funktioniert gut. Was würde Ich mag jetzt die aktuelle Arbeitsweise „Quick add“ nennen und ein neues Feature namens „slow add“ hinzufügen, die ich bin mir nicht ganz sicher, wie zu tun ist. Im Grunde, was ich will, ist, dass, wenn beispielsweise die Shift-Taste gedrückt gehalten wird, wenn Sie sich an oder die Schaltfläche geklickt wird, möchte ich die Form Methode einreicht etwas etwas anderes zu tun. In meinem Fall möchte ich, dass es ein Formular öffnet, in dem mehr Details zum Tier hinzugefügt werden können, bevor es zum Tisch hinzugefügt wird.
Problem ist, ich bin nicht ganz sicher, wie dies zu tun. Ich habe versucht, einen FireBug console.info(eventData)
in meiner jetzigen Funktion einreichen hinzufügen und ich habe festgestellt, dass die eventData
enthält eine altKey, shiftKey und controlKey Eigenschaft, aber sie sind immer undefiniert, auch wenn ich die Tasten gedrückt halten.
So, weiß jemand, wie ich etwas Besonderes in meinem einreichen Handler tun kann, wenn bestimmte Zusatztasten gedrückt wurden, wenn das Formular abgeschickt wurde?
temporäre Lösung
die Absende-Button-Shift-Klick-Funktion zu ignorieren Ended und stattdessen nur noch die schnelle Add-Funktion als shift-enter-in-Input-Felder. Umgesetzt es so etwas wie diese:
$('#new-task')
.submit(onNewAnimal)
.keypress(onNewAnimal);
function onNewAnimal(event)
{
if(event.type == 'keypress' && event.which != 13)
return true;
if(event.shiftKey)
{
// Quick add
}
else
{
// Open slow add dialog
}
return false;
}
noch gespannt, ob es eine bessere Art und Weise, aber bis dahin, das ist, was ich habe. Vielleicht kann es jemand anderem auch helfen :)
hier ist eine simular Frage http://stackoverflow.com/questions/2847135/check-ctrl-shift-alt-keys-on-click-event –
@John: Diese Frage fragt nach dem Unterschied zwischen den linken und rechten Versionen der Zusatztasten. Es spricht auch über das Click-Ereignis und nicht über das Submit-Ereignis. – Svish