У меня есть ввод, который я хочу разрешить пользователю сохранять текст либо нажатием клавиши ввода, либо нажатием в любом другом месте экрана. Получение кода для обработки, когда пользователь нажимает ввод, не проблема. Но я хочу обработать тот же код, вызвав событие keyup jquery, когда пользователь щелкает, как если бы вместо этого он нажал Enter в поле ввода. Теория не дает мне проблемы, но код ключа либо неправильно передается, либо интерпретируется неправильно при нажатии. Когда я предупреждаю интерпретированный код клавиши, я получаю «1», который не соответствует нажатию клавиши. Что я делаю не так?
$(document).on("click","body",function(e){
if(e.target.id!="openInput"){ //Indicates user has clicked out away from the input
if($(".attributeEdit")[0]){ //This is a unique class added
var i = $.Event('keyup');
i.which = 13;
$(".attributeEdit").trigger(i); //Have also tried triggering off #openInput, too with no success
}
}
});
$(document).on("keyup",".attributeEdit",function(){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
do stuff;
}
else{
alert("keycode: " + keycode); //This results in a "1" every time user clicks away
}
});