Fedwar
@Fedwar

Хотелось бы узнать на сколько хороша функция и какие будут мысли по рефакторингу?

;
(function(UIkeyboard) {
    'use strict';

    UIkeyboard.init = function (el) {

        var toggleKeyboardMode = function() {
            $(this).fadeOut(300, function() {
                $('.l-keyboard').show(200, function() {
                    $(this).addClass('-b-keyboard--full');
                });
            });
        };

        var simulateKeyPress = function(boxenter) {
            var press = $.Event('keydown'),
                str = $(boxenter).val();
            press.ctrlKey = false;
            press.which = 8;
            $(boxenter).val(str.substring(0, str.length - 1));
        };

        var pressNumberkey = function(param) {
            var numbox = $(this).data('num'),
                boxpin = document.getElementById(param),
            pinvalue = $(boxpin).val();
            if (isInteger(numbox)) {
                if (pinvalue.length < 4) {
                    pinvalue += numbox;
                    $(boxpin).val(pinvalue);
                }
            } else {
                $(this).attr('data-numerase') === 'erase' && simulateKeyPress(boxpin);
            }
            function isInteger(x) {
                return (x | 0) === x;
            }
        };

        var insertKeyboardBtn = function(el) {
            var jribbon = $('.j-footer__ribbon');
            $(jribbon).fadeIn(300);
            document.getElementById('keyboardmode').addEventListener('click', toggleKeyboardMode, false);
            $(document).on('click', '.b-keyboard__numpad', function () {
                pressNumberkey.call(this, el);
            });
        };
        insertKeyboardBtn(el);
    };

}(window.UIkeyboard = window.UIkeyboard || {}));
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы