Переместить фокус на предыдущую директиву ввода - PullRequest
0 голосов
/ 16 октября 2018

В настоящее время у меня есть директива, которая перемещается от одного входа к следующему, когда пользователь вводит значение.Мой ввод позволяет только 1 цифра.Это выглядит следующим образом:

_ _ _

и при заполнении будет выглядеть примерно так: 1 1 1

Моя директива сейчас следующая:

(function () {
    "use strict";



 angular
        .module("movenext.input", [])
        .directive("moveNextInput", moveNextInput);

    moveNextInput.$inject = [];

    function moveNextInput() {
        return {
            restrict: 'A',
            link: function ($scope, element) {
                element.on("input", function (e) {
                    if (element.val().length == element.attr("maxlength")) {
                        var $nextElement = element.next();
                        if ($nextElement.length) {
                            $nextElement[0].focus();
                        }
                    }
                });
            }
        };
    }

мой html:

 <input class="mb20" type="tel" id="new_auth1" move-next-input move-previous-input  ng-click="newCodeAutorizationfocus(1)" maxlength="1">

и функция щелчка

$scope.newCodeAutorizationfocus = function (n) {
    $timeout(function () {
        var id = '#new_auth' + n;
        $(id).focus();
    }, 500);
};

Мой вопрос заключается в том, как сделать обратное, как сказано в заголовке.Я попробовал следующую функцию, но безуспешно:

function movePreviousInput() {
        return {
            restrict: 'A',
            link: function ($scope, element) {
                element.on("input", function (e) {
                    if (element.val().length == element.attr("maxlength")) {

                        var $previousElement = element;
                        console.log($previousElement);
                        if ($previousElement.length) {
                            $previousElement[$previousElement.length - 1].focus();
                        }

                    }
                });
            }
        };
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...