|
|
@@ -1,101 +1,3 @@
|
|
|
-var keyCodes = {
|
|
|
- ALT: 18, BACKSPACE: 8, CAPS_LOCK: 20, COMMA: 188, COMMAND: 91, COMMAND_LEFT: 91, COMMAND_RIGHT: 93, CONTROL: 17, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, INSERT: 45, LEFT: 37, MENU: 93, NUMPAD_ADD: 107, NUMPAD_DECIMAL: 110, NUMPAD_DIVIDE: 111, NUMPAD_ENTER: 108,
|
|
|
- NUMPAD_MULTIPLY: 106, NUMPAD_SUBTRACT: 109, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SHIFT: 16, SPACE: 32, TAB: 9, UP: 38, WINDOWS: 91
|
|
|
-}
|
|
|
-function caret(input, begin, end) {
|
|
|
- var npt = input.jquery && input.length > 0 ? input[0] : input, range;
|
|
|
- if (typeof begin == 'number') {
|
|
|
- if (!$(input).is(':visible')) {
|
|
|
- return;
|
|
|
- }
|
|
|
- end = (typeof end == 'number') ? end : begin;
|
|
|
- if (npt.setSelectionRange) {
|
|
|
- npt.selectionStart = begin;
|
|
|
- npt.selectionEnd = end;
|
|
|
-
|
|
|
- } else if (npt.createTextRange) {
|
|
|
- range = npt.createTextRange();
|
|
|
- range.collapse(true);
|
|
|
- range.moveEnd('character', end);
|
|
|
- range.moveStart('character', begin);
|
|
|
- range.select();
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (!$(input).is(':visible')) {
|
|
|
- return { "begin": 0, "end": 0 };
|
|
|
- }
|
|
|
- if (npt.setSelectionRange) {
|
|
|
- begin = npt.selectionStart;
|
|
|
- end = npt.selectionEnd;
|
|
|
- } else if (document.selection && document.selection.createRange) {
|
|
|
- range = document.selection.createRange();
|
|
|
- begin = 0 - range.duplicate().moveStart('character', -100000);
|
|
|
- end = begin + range.text.length;
|
|
|
- }
|
|
|
- return { "begin": begin, "end": end };
|
|
|
- }
|
|
|
-};
|
|
|
-$.fn.SendKey = function (keyCode, modifier) {
|
|
|
- var sendDummyKeydown = false;
|
|
|
- if (Object.prototype.toString.call(keyCode) == '[object String]') {
|
|
|
- keyCode = keyCode.charCodeAt(0);
|
|
|
- sendDummyKeydown = true;
|
|
|
- }
|
|
|
-
|
|
|
- switch (keyCode) {
|
|
|
- case keyCodes.LEFT: {
|
|
|
- if (modifier == undefined) {
|
|
|
- var pos = caret(this);
|
|
|
- caret(this, pos.begin - 1);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- case keyCodes.RIGHT: {
|
|
|
- if (modifier == undefined) {
|
|
|
- var pos = caret(this);
|
|
|
- caret(this, pos.begin + 1);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- default: {
|
|
|
- var keydown = $.Event("keydown"),
|
|
|
- keypress = $.Event("keypress"),
|
|
|
- keyup = $.Event("keyup");
|
|
|
-
|
|
|
- if (!sendDummyKeydown) {
|
|
|
- keydown.keyCode = keyCode;
|
|
|
- if (modifier == keyCodes.CONTROL)
|
|
|
- keydown.ctrlKey = true;
|
|
|
- }
|
|
|
- $(this).trigger(keydown);
|
|
|
- if (!keydown.isDefaultPrevented()) {
|
|
|
- keypress.keyCode = keyCode;
|
|
|
- if (modifier == keyCodes.CONTROL)
|
|
|
- keypress.ctrlKey = true;
|
|
|
- $(this).trigger(keypress);
|
|
|
- if (!keypress.isDefaultPrevented()) {
|
|
|
- keyup.keyCode = keyCode;
|
|
|
- if (modifier == keyCodes.CONTROL)
|
|
|
- keyup.ctrlKey = true;
|
|
|
- $(this).trigger(keyup);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-$.fn.Type = function (inputStr) {
|
|
|
- var $input = $(this);
|
|
|
- $.each(inputStr.split(''), function (ndx, lmnt) {
|
|
|
- $input.SendKey(lmnt);
|
|
|
- });
|
|
|
-}
|
|
|
-
|
|
|
-$.fn.paste = function (inputStr) {
|
|
|
- var $input = $(this);
|
|
|
- $input[0]._valueSet(inputStr);
|
|
|
- $input.trigger('paste');
|
|
|
-}
|
|
|
-
|
|
|
module("Simple masking");
|
|
|
|
|
|
test("inputmask(\"99-99-99\", { clearMaskOnLostFocus: false}", function () {
|