У меня есть приложение Ionic со страницей с формой с несколькими полями.За исключением последнего поля ввода KeyPress Enter только перемещает фокус на следующее поле.Я хочу, чтобы клавиша ввода запускалась, когда фокус был на каком-либо поле формы.
<ion-view view-title="Search">
<ion-content class="has-header">
<form focus>
<div class="list list-inset">
<label class="item item-input">
<input ng-model="searchForm.name" name="fieldName" type="text" placeholder="Nome" ng-minlength="2" ng-maxlength="70">
</label>
<label class="item item-input">
<input ng-model="searchForm.city" name="fieldEmail" type="email" placeholder="E-mail" ng-maxlength="50">
</label>
</div>
</form>
</ion-content>
</ion-view>
В директивах:
.directive('focus', function () {
return {
restrict: 'A',
link: function ($scope, element, attrs) {
element.bind('keydown', function(e) {
var code = e.keyCode || e.which;
console.log(code);
if (code === 13) {
alert("enter pressed");
//element.next()[0].focus();
}
e.preventDefault();
});
}
}
})
Таким образом, в первом поле при нажатии клавиши ввода ввод с клавиатуры (код = 13) не срабатывает, а во второмили последнее поле, событие ввода с клавиатуры запускается правильно.
Как вызвать событие, когда пользователь нажимает клавишу Enter на клавиатуре устройства, когда фокус находится на любом поле формы.