Превратите функцию Jquery в плагин - PullRequest
1 голос
/ 12 января 2012

Недавно я получил несколько отличных советов по написанию некоторых функций jquery.Я пытаюсь превратить его в плагин.
это код, который я получил от stackOverflow @ micha по этой ссылке

https://stackoverflow.com/a/8820946/729820

$('#DischargeDateTimeMask').keypress(function (e) {
        var regex = ["[0-1]",
                     "[0-2]",
                     ":",
                     "[0-5]",
                     "[0-9]",
                     "(\\s)",
                     "(A|P)",
                     "M"],
        string = $(this).val() + keyboard(e),
        b = true;
        for (var i = 0; i < string.length; i++) {
            if (!new RegExp("^" + regex[i] + "$").test(string[i])) {
                b = false;
            }
        }
        return b;
    });
    function keyboard(a) { var b = a.charCode ? a.charCode : a.keyCode ? a.keyCode : 0; if (b == 8 || b == 9 || b == 13 || b == 35 || b == 36 || b == 37 || b == 39 || b == 46) { if ($.browser.mozilla) { if (a.charCode == 0 && a.keyCode == b) { return true } } } return String.fromCharCode(b) }

Я лично пытаюсь включитьэто в плагин, как так ...

(function ($) {
$.fn.simpleTimeMask = function () {
    $(this).keypress(function (e) {
        debugger;
        var regex = ["[0-2]",
        "[0-4]",
        ":",
        "[0-6]",
        "[0-9]",
        "(A|P)",
        "M"],
        string = $(this).val() + keyboard(e),
        b = true;
        for (var i = 0; i < string.length; i++) {
            if (!new RegExp("^" + regex[i] + "$").test(string[i])) {
                b = false;
            }
        }
        return b;
    });
}


    (function ($) {
        var methods = {
            keyboard: function (a) {
                //THIS
                var b = a.charCode ? a.charCode : a.keyCode ? a.keyCode : 0; if (b == 8 || b == 9 || b == 13 || b == 35 || b == 36 || b == 37 || b == 39 || b == 46) { if ($.browser.mozilla) { if (a.charCode == 0 && a.keyCode == b) { return true } } } return String.fromCharCode(b)
            }
        }
    });

function keyboard(a) { var b = a.charCode ? a.charCode : a.keyCode ? a.keyCode : 0; if (b == 8 || b == 9 || b == 13 || b == 35 || b == 36 || b == 37 || b == 39 || b == 46) { if ($.browser.mozilla) { if (a.charCode == 0 && a.keyCode == b) { return true } } } return String.fromCharCode(b) }
 })(jQuery);

Обратите внимание, как у меня есть две функции, которые пытаются сделать то же самое.Одна, я думаю, будет функцией, которая будет вызываться пользователем этого плагина, другая будет использоваться для внутренних целей.Как бы то ни было, я все это скомпилировал и попытался добавить в свой проект, но, как и ожидалось, это не сработало.Что бы вы посоветовали для создания этого плагина?

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