2017-03-08 1 views
0

ich benutze jquery ui autocomplete in einem eingabefeld. Ich verwende das select-Ereignis, um einige Aktionen auszulösen, aber dies löst auch das keyup-Ereignis aus, wenn der Benutzer etwas mit enter auswählt.trigger verschiedene ereignisse zu autovervollständigen select und keyup geben sie

, was ich tun möchte:

$('.my-input').autocomplete({ 
    source: availableTags, 
    select: function(event, ui) { 
     console.log('here goes an action triggered by the selection of an autocomplete suggestion'); 
    } 
}); 
$('.my-input').keyup(function(e) { 
    if (e.keyCode == 13) { 
     console.log('here goes an action triggered by the enter key'); 
    } 
}); 

mit diesem Code, soll die Aktion durch die Enter-Taste ausgelöst werden soll, ausgelöst wird, wenn ich einen Vorschlag zur automatischen Vervollständigung mit wählen eingeben. Wie kann ich es vermeiden?

Antwort

0

Sie können das Ereignis prüfen, auf ausgewählten Wert:

$("#autocomplete").autocomplete({ 
source: availableTags, 
select: function(event, ui){ 
    var key = checkEvent(event); 
    if (key == 13) 
     alert('Enter key...'); 
    else 
     alert('other key pressed.'); 
} 
}); 

function checkEvent(e) { 
    if (window.event) 
     key = window.event.keyCode;  //IE 
    else 
     key = e.which;  //firefox 

return key; 
} 
+0

Dank für die Antwort, aber ich brauche eigentlich das Gegenteil: überprüfen innerhalb des keyup Ereignis, wenn es ein einfaches war im Eingangs gedrückt eingeben oder eine Bestätigung mit enter etwas auswählen. – fksr86

Verwandte Themen