event.originalEvent undefiniert im Fokus-Veranstaltung mit jQuery autocomplete

Muss ich überschreiben Sie die AutoVervollständigen-focus-Ereignis mit einer benutzerdefinierten Aktion und etwas tun, basierend auf, ob der Benutzer wurde aus der Liste auswählen mit der Tastatur und nicht die Maus. Zu tun, dass ich bin der überprüfung der originalEvent.geben Sie in das event-Objekt, das enthalten soll, die Art der Aktion (keydown, keyup, mouseenter, etc).

Jedoch die originalEvent Objekt zu sein scheint, nicht definiert, und ich kann nicht verstehen, warum. Es arbeitet gerade fein in der aktuellen focus-Ereignis in der AutoVervollständigen-code, aber nicht, wenn ich überschreiben, dass ein Ereignis in der autocomplete-Objekt.

Bitte siehe meinen code unten. Ich würde schätzen jede Hilfe, da es treibt mich Bananen.

$( "#tags" ).autocomplete({
    source: availableTags,
    focus: function(event, ui) {
        //Check whether focus was triggered by a mouse or keyboard event
        if ( /^key/.test(event.originalEvent.type) ) {
            //Do something here
        }                   

        return false;
    }
});
  • Wo ist event definiert? Vielleicht müssen Sie es als ein argument für focus: function(event)?
  • Mein Fehler, die Funktion, die Signatur ist eigentlich focus: function(event, ui). So ein "Ereignis" ist in der Tat als parameter übergeben
  • Können Sie eine alert oder console.log für event.originalEvent.type
  • Ich habe es versucht. Es kommt als nicht definiert. Wenn ich eine Konsole.melden Sie sich auf das event-Objekt selbst, das originalEvent gar nicht da, das ist der Kern des Problems.
InformationsquelleAutor Jack | 2011-03-06
Schreibe einen Kommentar