Browse Source

remove tooltip option + better handle remove

Robin Herbots 9 years ago
parent
commit
0b10a4231b

+ 1 - 0
CHANGELOG.md

@@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file.
 - colorMask option ~ css styleable mask
 - colorMask option ~ css styleable mask
 
 
 ### Updates
 ### Updates
+- remove tooltip option
 - remove h,s,d,m,y definitions => use the date/time aliases
 - remove h,s,d,m,y definitions => use the date/time aliases
 - phone-alias - fine-tune mask sorting
 - phone-alias - fine-tune mask sorting
 - make data-inputmask attribute naming configurable (dataAttribute on Inputmask)
 - make data-inputmask attribute naming configurable (dataAttribute on Inputmask)

+ 0 - 9
README.md

@@ -888,15 +888,6 @@ $(document).ready(function(){
 ```
 ```
 
 
 ### skipOptionalPartCharacter
 ### skipOptionalPartCharacter
-### showTooltip
-Show the current mask definition as a tooltip.
-
-```javascript
-$(selector).inputmask({ mask: ["999-999-9999 [x99999]", "+099 99 99 9999[9]-9999"], showTooltip: true });
-```
-
-### tooltip
-Specify the tooltip to show.  By default the mask definition will be taken.
 
 
 ### numericInput
 ### numericInput
 Numeric input direction.  Keeps the caret at the end.
 Numeric input direction.  Keeps the caret at the end.

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "jquery.inputmask",
   "name": "jquery.inputmask",
-  "version": "3.3.4-124",
+  "version": "3.3.4-126",
   "main": [
   "main": [
 	  "./dist/inputmask/inputmask.dependencyLib",
 	  "./dist/inputmask/inputmask.dependencyLib",
 	  "./dist/inputmask/inputmask",
 	  "./dist/inputmask/inputmask",

+ 1 - 1
component.json

@@ -2,7 +2,7 @@
 	"name": "jquery_inputmask",
 	"name": "jquery_inputmask",
 	"repository": "robinherbots/jquery.inputmask",
 	"repository": "robinherbots/jquery.inputmask",
 	"description": "jquery.inputmask is a jquery plugin which create an input mask.",
 	"description": "jquery.inputmask is a jquery plugin which create an input mask.",
-	"version": "3.3.4-124",
+	"version": "3.3.4-126",
 	"keywords": [
 	"keywords": [
 		"jquery",
 		"jquery",
 		"plugins",
 		"plugins",

+ 1 - 1
composer.json

@@ -1,7 +1,7 @@
 {
 {
   "name": "robinherbots/jquery.inputmask",
   "name": "robinherbots/jquery.inputmask",
   "description": "jquery.inputmask is a jquery plugin which create an input mask.",
   "description": "jquery.inputmask is a jquery plugin which create an input mask.",
-  "version": "3.3.4-124",
+  "version": "3.3.4-126",
   "type": "library",
   "type": "library",
   "keywords": ["jquery", "plugins", "input", "form", "inputmask", "mask"],
   "keywords": ["jquery", "plugins", "input", "form", "inputmask", "mask"],
   "homepage": "http://robinherbots.github.io/jquery.inputmask",
   "homepage": "http://robinherbots.github.io/jquery.inputmask",

+ 1 - 1
dist/inputmask/inputmask.date.extensions.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/jquery.inputmask
 * https://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.3.4-124
+* Version: 3.3.4-126
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);
     "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);

+ 1 - 1
dist/inputmask/inputmask.dependencyLib.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/jquery.inputmask
 * https://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.3.4-124
+* Version: 3.3.4-126
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define("inputmask.dependencyLib", [ "jquery" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery")) : factory(jQuery);
     "function" == typeof define && define.amd ? define("inputmask.dependencyLib", [ "jquery" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery")) : factory(jQuery);

+ 1 - 1
dist/inputmask/inputmask.extensions.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/jquery.inputmask
 * https://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.3.4-124
+* Version: 3.3.4-126
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);
     "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);

+ 9 - 13
dist/inputmask/inputmask.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/jquery.inputmask
 * https://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.3.4-124
+* Version: 3.3.4-126
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define("inputmask", [ "inputmask.dependencyLib" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib")) : factory(window.dependencyLib || jQuery);
     "function" == typeof define && define.amd ? define("inputmask", [ "inputmask.dependencyLib" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib")) : factory(window.dependencyLib || jQuery);
@@ -417,7 +417,7 @@
                     var j, valid = !0, vps = getMaskSet().validPositions, needsValidation = !1, initialLength = getMaskSet().maskLength;
                     var j, valid = !0, vps = getMaskSet().validPositions, needsValidation = !1, initialLength = getMaskSet().maskLength;
                     for (i = j = pos; i <= lvp; i++) {
                     for (i = j = pos; i <= lvp; i++) {
                         var t = positionsClone[i];
                         var t = positionsClone[i];
-                        if (void 0 !== t) for (var posMatch = j; posMatch < getMaskSet().maskLength && (null == t.match.fn && vps[i] && (vps[i].match.optionalQuantifier === !0 || vps[i].match.optionality === !0) || null != t.match.fn); ) {
+                        if (void 0 !== t && (t.generatedInput !== !0 || null === t.match.fn)) for (var posMatch = j; posMatch < getMaskSet().maskLength && (null === t.match.fn && vps[i] && (vps[i].match.optionalQuantifier === !0 || vps[i].match.optionality === !0) || null != t.match.fn); ) {
                             if (posMatch++, needsValidation === !1 && positionsClone[posMatch] && positionsClone[posMatch].match.def === t.match.def) getMaskSet().validPositions[posMatch] = $.extend(!0, {}, positionsClone[posMatch]), 
                             if (posMatch++, needsValidation === !1 && positionsClone[posMatch] && positionsClone[posMatch].match.def === t.match.def) getMaskSet().validPositions[posMatch] = $.extend(!0, {}, positionsClone[posMatch]), 
                             getMaskSet().validPositions[posMatch].input = t.input, fillMissingNonMask(posMatch), 
                             getMaskSet().validPositions[posMatch].input = t.input, fillMissingNonMask(posMatch), 
                             j = posMatch, valid = !0; else if (positionCanMatchDefinition(posMatch, t.match.def)) {
                             j = posMatch, valid = !0; else if (positionCanMatchDefinition(posMatch, t.match.def)) {
@@ -833,9 +833,9 @@
                 }
                 }
                 return isSupported;
                 return isSupported;
             }
             }
-            if (isElementTypeSupported(elem, opts) && (el = elem, $el = $(el), opts.showTooltip && (el.title = opts.tooltip || getMaskSet().mask), 
-            ("rtl" === el.dir || opts.rightAlign) && (el.style.textAlign = "right"), ("rtl" === el.dir || opts.numericInput) && (el.dir = "ltr", 
-            el.removeAttribute("dir"), el.inputmask.isRTL = !0, isRTL = !0), opts.colorMask === !0 && initializeColorMask(el), 
+            if (isElementTypeSupported(elem, opts) && (el = elem, $el = $(el), ("rtl" === el.dir || opts.rightAlign) && (el.style.textAlign = "right"), 
+            ("rtl" === el.dir || opts.numericInput) && (el.dir = "ltr", el.removeAttribute("dir"), 
+            el.inputmask.isRTL = !0, isRTL = !0), opts.colorMask === !0 && initializeColorMask(el), 
             android && (el.hasOwnProperty("inputmode") && (el.inputmode = opts.inputmode, el.setAttribute("inputmode", opts.inputmode)), 
             android && (el.hasOwnProperty("inputmode") && (el.inputmode = opts.inputmode, el.setAttribute("inputmode", opts.inputmode)), 
             "rtfm" === opts.androidHack && (opts.colorMask !== !0 && initializeColorMask(el), 
             "rtfm" === opts.androidHack && (opts.colorMask !== !0 && initializeColorMask(el), 
             el.type = "password")), EventRuler.off(el), patchValueProperty(el), EventRuler.on(el, "submit", EventHandlers.submitEvent), 
             el.type = "password")), EventRuler.off(el), patchValueProperty(el), EventRuler.on(el, "submit", EventHandlers.submitEvent), 
@@ -923,8 +923,7 @@
                 var input = this, $input = $(input), k = e.keyCode, pos = caret(input);
                 var input = this, $input = $(input), k = e.keyCode, pos = caret(input);
                 if (k === Inputmask.keyCode.BACKSPACE || k === Inputmask.keyCode.DELETE || iphone && k === Inputmask.keyCode.BACKSPACE_SAFARI || e.ctrlKey && k === Inputmask.keyCode.X && !isInputEventSupported("cut")) e.preventDefault(), 
                 if (k === Inputmask.keyCode.BACKSPACE || k === Inputmask.keyCode.DELETE || iphone && k === Inputmask.keyCode.BACKSPACE_SAFARI || e.ctrlKey && k === Inputmask.keyCode.X && !isInputEventSupported("cut")) e.preventDefault(), 
                 handleRemove(input, k, pos), writeBuffer(input, getBuffer(!0), getMaskSet().p, e, input.inputmask._valueGet() !== getBuffer().join("")), 
                 handleRemove(input, k, pos), writeBuffer(input, getBuffer(!0), getMaskSet().p, e, input.inputmask._valueGet() !== getBuffer().join("")), 
-                input.inputmask._valueGet() === getBufferTemplate().join("") ? $input.trigger("cleared") : isComplete(getBuffer()) === !0 && $input.trigger("complete"), 
-                opts.showTooltip && (input.title = opts.tooltip || getMaskSet().mask); else if (k === Inputmask.keyCode.END || k === Inputmask.keyCode.PAGE_DOWN) {
+                input.inputmask._valueGet() === getBufferTemplate().join("") ? $input.trigger("cleared") : isComplete(getBuffer()) === !0 && $input.trigger("complete"); else if (k === Inputmask.keyCode.END || k === Inputmask.keyCode.PAGE_DOWN) {
                     e.preventDefault();
                     e.preventDefault();
                     var caretPos = seekNext(getLastValidPosition());
                     var caretPos = seekNext(getLastValidPosition());
                     opts.insertMode || caretPos !== getMaskSet().maskLength || e.shiftKey || caretPos--, 
                     opts.insertMode || caretPos !== getMaskSet().maskLength || e.shiftKey || caretPos--, 
@@ -970,8 +969,8 @@
                             }, 0);
                             }, 0);
                         }
                         }
                     }
                     }
-                    if (opts.showTooltip && (input.title = opts.tooltip || getMaskSet().mask), e.preventDefault(), 
-                    checkval) return valResult.forwardPosition = forwardPosition, valResult;
+                    if (e.preventDefault(), checkval) return valResult.forwardPosition = forwardPosition, 
+                    valResult;
                 }
                 }
             },
             },
             pasteEvent: function(e) {
             pasteEvent: function(e) {
@@ -1087,8 +1086,7 @@
                 clipboardData.setData("text", isRTL ? clipData.reverse().join("") : clipData.join("")), 
                 clipboardData.setData("text", isRTL ? clipData.reverse().join("") : clipData.join("")), 
                 document.execCommand && document.execCommand("copy"), handleRemove(input, Inputmask.keyCode.DELETE, pos), 
                 document.execCommand && document.execCommand("copy"), handleRemove(input, Inputmask.keyCode.DELETE, pos), 
                 writeBuffer(input, getBuffer(), getMaskSet().p, e, undoValue !== getBuffer().join("")), 
                 writeBuffer(input, getBuffer(), getMaskSet().p, e, undoValue !== getBuffer().join("")), 
-                input.inputmask._valueGet() === getBufferTemplate().join("") && $input.trigger("cleared"), 
-                opts.showTooltip && (input.title = opts.tooltip || getMaskSet().mask);
+                input.inputmask._valueGet() === getBufferTemplate().join("") && $input.trigger("cleared");
             },
             },
             blurEvent: function(e) {
             blurEvent: function(e) {
                 var $input = $(this), input = this;
                 var $input = $(this), input = this;
@@ -1218,8 +1216,6 @@
             showMaskOnHover: !0,
             showMaskOnHover: !0,
             onKeyValidation: $.noop,
             onKeyValidation: $.noop,
             skipOptionalPartCharacter: " ",
             skipOptionalPartCharacter: " ",
-            showTooltip: !1,
-            tooltip: void 0,
             numericInput: !1,
             numericInput: !1,
             rightAlign: !1,
             rightAlign: !1,
             undoOnEscape: !0,
             undoOnEscape: !0,

+ 1 - 1
dist/inputmask/inputmask.numeric.extensions.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/jquery.inputmask
 * https://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.3.4-124
+* Version: 3.3.4-126
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);
     "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);

+ 1 - 1
dist/inputmask/inputmask.phone.extensions.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/jquery.inputmask
 * https://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.3.4-124
+* Version: 3.3.4-126
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);
     "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);

+ 1 - 1
dist/inputmask/inputmask.regex.extensions.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/jquery.inputmask
 * https://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.3.4-124
+* Version: 3.3.4-126
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);
     "function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);

+ 1 - 1
dist/inputmask/jquery.inputmask.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/jquery.inputmask
 * https://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.3.4-124
+* Version: 3.3.4-126
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "jquery", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./inputmask")) : factory(jQuery, window.Inputmask);
     "function" == typeof define && define.amd ? define([ "jquery", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./inputmask")) : factory(jQuery, window.Inputmask);

+ 9 - 13
dist/jquery.inputmask.bundle.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/jquery.inputmask
 * https://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.3.4-124
+* Version: 3.3.4-126
 */
 */
 !function($) {
 !function($) {
     function Inputmask(alias, options) {
     function Inputmask(alias, options) {
@@ -415,7 +415,7 @@
                     var j, valid = !0, vps = getMaskSet().validPositions, needsValidation = !1, initialLength = getMaskSet().maskLength;
                     var j, valid = !0, vps = getMaskSet().validPositions, needsValidation = !1, initialLength = getMaskSet().maskLength;
                     for (i = j = pos; i <= lvp; i++) {
                     for (i = j = pos; i <= lvp; i++) {
                         var t = positionsClone[i];
                         var t = positionsClone[i];
-                        if (void 0 !== t) for (var posMatch = j; posMatch < getMaskSet().maskLength && (null == t.match.fn && vps[i] && (vps[i].match.optionalQuantifier === !0 || vps[i].match.optionality === !0) || null != t.match.fn); ) {
+                        if (void 0 !== t && (t.generatedInput !== !0 || null === t.match.fn)) for (var posMatch = j; posMatch < getMaskSet().maskLength && (null === t.match.fn && vps[i] && (vps[i].match.optionalQuantifier === !0 || vps[i].match.optionality === !0) || null != t.match.fn); ) {
                             if (posMatch++, needsValidation === !1 && positionsClone[posMatch] && positionsClone[posMatch].match.def === t.match.def) getMaskSet().validPositions[posMatch] = $.extend(!0, {}, positionsClone[posMatch]), 
                             if (posMatch++, needsValidation === !1 && positionsClone[posMatch] && positionsClone[posMatch].match.def === t.match.def) getMaskSet().validPositions[posMatch] = $.extend(!0, {}, positionsClone[posMatch]), 
                             getMaskSet().validPositions[posMatch].input = t.input, fillMissingNonMask(posMatch), 
                             getMaskSet().validPositions[posMatch].input = t.input, fillMissingNonMask(posMatch), 
                             j = posMatch, valid = !0; else if (positionCanMatchDefinition(posMatch, t.match.def)) {
                             j = posMatch, valid = !0; else if (positionCanMatchDefinition(posMatch, t.match.def)) {
@@ -831,9 +831,9 @@
                 }
                 }
                 return isSupported;
                 return isSupported;
             }
             }
-            if (isElementTypeSupported(elem, opts) && (el = elem, $el = $(el), opts.showTooltip && (el.title = opts.tooltip || getMaskSet().mask), 
-            ("rtl" === el.dir || opts.rightAlign) && (el.style.textAlign = "right"), ("rtl" === el.dir || opts.numericInput) && (el.dir = "ltr", 
-            el.removeAttribute("dir"), el.inputmask.isRTL = !0, isRTL = !0), opts.colorMask === !0 && initializeColorMask(el), 
+            if (isElementTypeSupported(elem, opts) && (el = elem, $el = $(el), ("rtl" === el.dir || opts.rightAlign) && (el.style.textAlign = "right"), 
+            ("rtl" === el.dir || opts.numericInput) && (el.dir = "ltr", el.removeAttribute("dir"), 
+            el.inputmask.isRTL = !0, isRTL = !0), opts.colorMask === !0 && initializeColorMask(el), 
             android && (el.hasOwnProperty("inputmode") && (el.inputmode = opts.inputmode, el.setAttribute("inputmode", opts.inputmode)), 
             android && (el.hasOwnProperty("inputmode") && (el.inputmode = opts.inputmode, el.setAttribute("inputmode", opts.inputmode)), 
             "rtfm" === opts.androidHack && (opts.colorMask !== !0 && initializeColorMask(el), 
             "rtfm" === opts.androidHack && (opts.colorMask !== !0 && initializeColorMask(el), 
             el.type = "password")), EventRuler.off(el), patchValueProperty(el), EventRuler.on(el, "submit", EventHandlers.submitEvent), 
             el.type = "password")), EventRuler.off(el), patchValueProperty(el), EventRuler.on(el, "submit", EventHandlers.submitEvent), 
@@ -921,8 +921,7 @@
                 var input = this, $input = $(input), k = e.keyCode, pos = caret(input);
                 var input = this, $input = $(input), k = e.keyCode, pos = caret(input);
                 if (k === Inputmask.keyCode.BACKSPACE || k === Inputmask.keyCode.DELETE || iphone && k === Inputmask.keyCode.BACKSPACE_SAFARI || e.ctrlKey && k === Inputmask.keyCode.X && !isInputEventSupported("cut")) e.preventDefault(), 
                 if (k === Inputmask.keyCode.BACKSPACE || k === Inputmask.keyCode.DELETE || iphone && k === Inputmask.keyCode.BACKSPACE_SAFARI || e.ctrlKey && k === Inputmask.keyCode.X && !isInputEventSupported("cut")) e.preventDefault(), 
                 handleRemove(input, k, pos), writeBuffer(input, getBuffer(!0), getMaskSet().p, e, input.inputmask._valueGet() !== getBuffer().join("")), 
                 handleRemove(input, k, pos), writeBuffer(input, getBuffer(!0), getMaskSet().p, e, input.inputmask._valueGet() !== getBuffer().join("")), 
-                input.inputmask._valueGet() === getBufferTemplate().join("") ? $input.trigger("cleared") : isComplete(getBuffer()) === !0 && $input.trigger("complete"), 
-                opts.showTooltip && (input.title = opts.tooltip || getMaskSet().mask); else if (k === Inputmask.keyCode.END || k === Inputmask.keyCode.PAGE_DOWN) {
+                input.inputmask._valueGet() === getBufferTemplate().join("") ? $input.trigger("cleared") : isComplete(getBuffer()) === !0 && $input.trigger("complete"); else if (k === Inputmask.keyCode.END || k === Inputmask.keyCode.PAGE_DOWN) {
                     e.preventDefault();
                     e.preventDefault();
                     var caretPos = seekNext(getLastValidPosition());
                     var caretPos = seekNext(getLastValidPosition());
                     opts.insertMode || caretPos !== getMaskSet().maskLength || e.shiftKey || caretPos--, 
                     opts.insertMode || caretPos !== getMaskSet().maskLength || e.shiftKey || caretPos--, 
@@ -968,8 +967,8 @@
                             }, 0);
                             }, 0);
                         }
                         }
                     }
                     }
-                    if (opts.showTooltip && (input.title = opts.tooltip || getMaskSet().mask), e.preventDefault(), 
-                    checkval) return valResult.forwardPosition = forwardPosition, valResult;
+                    if (e.preventDefault(), checkval) return valResult.forwardPosition = forwardPosition, 
+                    valResult;
                 }
                 }
             },
             },
             pasteEvent: function(e) {
             pasteEvent: function(e) {
@@ -1085,8 +1084,7 @@
                 clipboardData.setData("text", isRTL ? clipData.reverse().join("") : clipData.join("")), 
                 clipboardData.setData("text", isRTL ? clipData.reverse().join("") : clipData.join("")), 
                 document.execCommand && document.execCommand("copy"), handleRemove(input, Inputmask.keyCode.DELETE, pos), 
                 document.execCommand && document.execCommand("copy"), handleRemove(input, Inputmask.keyCode.DELETE, pos), 
                 writeBuffer(input, getBuffer(), getMaskSet().p, e, undoValue !== getBuffer().join("")), 
                 writeBuffer(input, getBuffer(), getMaskSet().p, e, undoValue !== getBuffer().join("")), 
-                input.inputmask._valueGet() === getBufferTemplate().join("") && $input.trigger("cleared"), 
-                opts.showTooltip && (input.title = opts.tooltip || getMaskSet().mask);
+                input.inputmask._valueGet() === getBufferTemplate().join("") && $input.trigger("cleared");
             },
             },
             blurEvent: function(e) {
             blurEvent: function(e) {
                 var $input = $(this), input = this;
                 var $input = $(this), input = this;
@@ -1216,8 +1214,6 @@
             showMaskOnHover: !0,
             showMaskOnHover: !0,
             onKeyValidation: $.noop,
             onKeyValidation: $.noop,
             skipOptionalPartCharacter: " ",
             skipOptionalPartCharacter: " ",
-            showTooltip: !1,
-            tooltip: void 0,
             numericInput: !1,
             numericInput: !1,
             rightAlign: !1,
             rightAlign: !1,
             undoOnEscape: !0,
             undoOnEscape: !0,

File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/inputmask.date.extensions.min.js


+ 1 - 1
dist/min/inputmask/inputmask.dependencyLib.min.js

@@ -3,6 +3,6 @@
 * https://github.com/RobinHerbots/jquery.inputmask
 * https://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Copyright (c) 2010 - 2016 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.3.4-124
+* Version: 3.3.4-126
 */
 */
 !function(a){"function"==typeof define&&define.amd?define("inputmask.dependencyLib",["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return window.dependencyLib=a,a});
 !function(a){"function"==typeof define&&define.amd?define("inputmask.dependencyLib",["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return window.dependencyLib=a,a});

File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/inputmask.extensions.min.js


File diff suppressed because it is too large
+ 3 - 3
dist/min/inputmask/inputmask.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/inputmask.numeric.extensions.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/inputmask.phone.extensions.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/inputmask.regex.extensions.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/jquery.inputmask.min.js


File diff suppressed because it is too large
+ 4 - 4
dist/min/jquery.inputmask.bundle.min.js


+ 2 - 20
js/inputmask.js

@@ -88,8 +88,6 @@
 			showMaskOnHover: true, //show the mask-placeholder when hovering the empty input
 			showMaskOnHover: true, //show the mask-placeholder when hovering the empty input
 			onKeyValidation: $.noop, //executes on every key-press with the result of isValid. Params: key, result, opts
 			onKeyValidation: $.noop, //executes on every key-press with the result of isValid. Params: key, result, opts
 			skipOptionalPartCharacter: " ", //a character which can be used to skip an optional part of a mask
 			skipOptionalPartCharacter: " ", //a character which can be used to skip an optional part of a mask
-			showTooltip: false, //show the activemask as tooltip
-			tooltip: undefined, //tooltip to show
 			numericInput: false, //numericInput input direction style (input shifts to the left while holding the caret position)
 			numericInput: false, //numericInput input direction style (input shifts to the left while holding the caret position)
 			rightAlign: false, //align to the right
 			rightAlign: false, //align to the right
 			undoOnEscape: true, //pressing escape reverts the value to the value before focus
 			undoOnEscape: true, //pressing escape reverts the value to the value before focus
@@ -1511,9 +1509,9 @@
 						initialLength = getMaskSet().maskLength;
 						initialLength = getMaskSet().maskLength;
 					for (i = (j = pos); i <= lvp; i++) {
 					for (i = (j = pos); i <= lvp; i++) {
 						var t = positionsClone[i];
 						var t = positionsClone[i];
-						if (t !== undefined) {
+						if (t !== undefined && (t.generatedInput !== true || t.match.fn === null)) {
 							var posMatch = j;
 							var posMatch = j;
-							while (posMatch < getMaskSet().maskLength && ((t.match.fn == null && vps[i] && (vps[i].match.optionalQuantifier === true || vps[i].match.optionality === true)) || t.match.fn != null)) {
+							while (posMatch < getMaskSet().maskLength && ((t.match.fn === null && vps[i] && (vps[i].match.optionalQuantifier === true || vps[i].match.optionality === true)) || t.match.fn != null)) {
 								posMatch++;
 								posMatch++;
 								if (needsValidation === false && positionsClone[posMatch] && positionsClone[posMatch].match.def === t.match.def) { //obvious match
 								if (needsValidation === false && positionsClone[posMatch] && positionsClone[posMatch].match.def === t.match.def) { //obvious match
 									getMaskSet().validPositions[posMatch] = $.extend(true, {}, positionsClone[posMatch]);
 									getMaskSet().validPositions[posMatch] = $.extend(true, {}, positionsClone[posMatch]);
@@ -2281,9 +2279,6 @@
 					} else if (isComplete(getBuffer()) === true) {
 					} else if (isComplete(getBuffer()) === true) {
 						$input.trigger("complete");
 						$input.trigger("complete");
 					}
 					}
-					if (opts.showTooltip) { //update tooltip
-						input.title = opts.tooltip || getMaskSet().mask;
-					}
 				} else if (k === Inputmask.keyCode.END || k === Inputmask.keyCode.PAGE_DOWN) { //when END or PAGE_DOWN pressed set position at lastmatch
 				} else if (k === Inputmask.keyCode.END || k === Inputmask.keyCode.PAGE_DOWN) { //when END or PAGE_DOWN pressed set position at lastmatch
 					e.preventDefault();
 					e.preventDefault();
 					var caretPos = seekNext(getLastValidPosition());
 					var caretPos = seekNext(getLastValidPosition());
@@ -2380,10 +2375,6 @@
 							}
 							}
 						}
 						}
 
 
-						if (opts.showTooltip) { //update tooltip
-							input.title = opts.tooltip || getMaskSet().mask;
-						}
-
 						e.preventDefault();
 						e.preventDefault();
 
 
 						if (checkval) {
 						if (checkval) {
@@ -2605,10 +2596,6 @@
 				if (input.inputmask._valueGet() === getBufferTemplate().join("")) {
 				if (input.inputmask._valueGet() === getBufferTemplate().join("")) {
 					$input.trigger("cleared");
 					$input.trigger("cleared");
 				}
 				}
-
-				if (opts.showTooltip) { //update tooltip
-					input.title = opts.tooltip || getMaskSet().mask;
-				}
 			},
 			},
 			blurEvent: function (e) {
 			blurEvent: function (e) {
 				var $input = $(this),
 				var $input = $(this),
@@ -2835,11 +2822,6 @@
 				el = elem;
 				el = elem;
 				$el = $(el);
 				$el = $(el);
 
 
-				//show tooltip
-				if (opts.showTooltip) {
-					el.title = opts.tooltip || getMaskSet().mask;
-				}
-
 				if (el.dir === "rtl" || opts.rightAlign) {
 				if (el.dir === "rtl" || opts.rightAlign) {
 					el.style.textAlign = "right";
 					el.style.textAlign = "right";
 				}
 				}

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
 {
 	"name": "jquery.inputmask",
 	"name": "jquery.inputmask",
-	"version": "3.3.4-124",
+	"version": "3.3.4-126",
 	"description": "jquery.inputmask is a jquery plugin which create an input mask.",
 	"description": "jquery.inputmask is a jquery plugin which create an input mask.",
 	"main": "index.js",
 	"main": "index.js",
 	"files": [
 	"files": [

+ 42 - 29
qunit/tests_dynamic.js

@@ -9,10 +9,10 @@ define([
 	"../dist/inputmask/inputmask.regex.extensions",
 	"../dist/inputmask/inputmask.regex.extensions",
 	"prototypeExtensions",
 	"prototypeExtensions",
 	"simulator"
 	"simulator"
-], function(qunit, $, Inputmask) {
+], function (qunit, $, Inputmask) {
 
 
 	qunit.module("Dynamic Masks");
 	qunit.module("Dynamic Masks");
-	qunit.test("inputmask(\"9-a{3}9{3}\" - simple dynamic mask", function(assert) {
+	qunit.test("inputmask(\"9-a{3}9{3}\" - simple dynamic mask", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -25,7 +25,7 @@ define([
 
 
 
 
 	});
 	});
-	qunit.test("inputmask(\"9-a{1,3}9{1,3}\" - simple dynamic mask", function(assert) {
+	qunit.test("inputmask(\"9-a{1,3}9{1,3}\" - simple dynamic mask", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -38,7 +38,7 @@ define([
 
 
 
 
 	});
 	});
-	qunit.test("inputmask(\"9-a{1,3}9{1,3}\" - simple dynamic mask - greedy false", function(assert) {
+	qunit.test("inputmask(\"9-a{1,3}9{1,3}\" - simple dynamic mask - greedy false", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -53,7 +53,7 @@ define([
 
 
 
 
 	});
 	});
-	qunit.test("inputmask(\"9-a{1,3}/9{2,3}\" - simple dynamic mask - greedy true", function(assert) {
+	qunit.test("inputmask(\"9-a{1,3}/9{2,3}\" - simple dynamic mask - greedy true", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -68,7 +68,7 @@ define([
 
 
 
 
 	});
 	});
-	qunit.test("email mask greedy false", function(assert) {
+	qunit.test("email mask greedy false", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -83,7 +83,7 @@ define([
 
 
 
 
 	});
 	});
-	qunit.test("email mask greedy true", function(assert) {
+	qunit.test("email mask greedy true", function (assert) {
 		var done = assert.async(),
 		var done = assert.async(),
 			$fixture = $("#qunit-fixture");
 			$fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
@@ -95,13 +95,13 @@ define([
 		testmask.focus();
 		testmask.focus();
 		$("#testmask").Type("some.body@mail.com");
 		$("#testmask").Type("some.body@mail.com");
 		testmask.blur();
 		testmask.blur();
-		setTimeout(function() {
+		setTimeout(function () {
 			assert.equal(testmask.value, "some.body@mail.com", "Result " + testmask.value);
 			assert.equal(testmask.value, "some.body@mail.com", "Result " + testmask.value);
 			done();
 			done();
 		}, 0);
 		}, 0);
 	});
 	});
 
 
-	qunit.test("email mask - partial input", function(assert) {
+	qunit.test("email mask - partial input", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -113,7 +113,7 @@ define([
 		assert.equal(testmask.value, "some.@_._", "Result " + testmask.value);
 		assert.equal(testmask.value, "some.@_._", "Result " + testmask.value);
 	});
 	});
 
 
-	qunit.test("email mask - partial input 2", function(assert) {
+	qunit.test("email mask - partial input 2", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -128,7 +128,7 @@ define([
 
 
 	});
 	});
 
 
-	qunit.test("email mask - babu@us.lufthansa.com - babupca", function(assert) {
+	qunit.test("email mask - babu@us.lufthansa.com - babupca", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -141,7 +141,7 @@ define([
 
 
 	});
 	});
 
 
-	qunit.test("email mask - email@subdomain.domain.com - babupca", function(assert) {
+	qunit.test("email mask - email@subdomain.domain.com - babupca", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -154,7 +154,7 @@ define([
 
 
 	});
 	});
 
 
-	qunit.test("email mask - paste test.test@test.com - Kurumas", function(assert) {
+	qunit.test("email mask - paste test.test@test.com - Kurumas", function (assert) {
 		var done = assert.async(),
 		var done = assert.async(),
 			$fixture = $("#qunit-fixture");
 			$fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
@@ -163,14 +163,14 @@ define([
 
 
 		testmask.focus();
 		testmask.focus();
 		$("#testmask").paste("test.test@test.com");
 		$("#testmask").paste("test.test@test.com");
-		setTimeout(function() {
+		setTimeout(function () {
 			assert.equal(testmask.value, "test.test@test.com", "Result " + testmask.value);
 			assert.equal(testmask.value, "test.test@test.com", "Result " + testmask.value);
 			done();
 			done();
 
 
 		}, 0);
 		}, 0);
 	});
 	});
 
 
-	qunit.test("quantifier mask greedy false - FairSite2C", function(assert) {
+	qunit.test("quantifier mask greedy false - FairSite2C", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -185,7 +185,7 @@ define([
 
 
 	});
 	});
 
 
-	qunit.test("quantifier mask greedy true - FairSite2C", function(assert) {
+	qunit.test("quantifier mask greedy true - FairSite2C", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -201,7 +201,7 @@ define([
 	});
 	});
 
 
 
 
-	qunit.test("email mask - clearIncomplete - hiddenman", function(assert) {
+	qunit.test("email mask - clearIncomplete - hiddenman", function (assert) {
 		var done = assert.async(),
 		var done = assert.async(),
 			$fixture = $("#qunit-fixture");
 			$fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
@@ -213,14 +213,14 @@ define([
 		testmask.focus();
 		testmask.focus();
 		$("#testmask").Type("akornilov");
 		$("#testmask").Type("akornilov");
 		testmask.blur();
 		testmask.blur();
-		setTimeout(function() {
+		setTimeout(function () {
 			assert.equal(document.getElementById("testmask").inputmask._valueGet(), "", "Result " + document.getElementById("testmask").inputmask._valueGet());
 			assert.equal(document.getElementById("testmask").inputmask._valueGet(), "", "Result " + document.getElementById("testmask").inputmask._valueGet());
 			done();
 			done();
 
 
 		}, 0);
 		}, 0);
 	});
 	});
 
 
-	qunit.test("email mask - clearIncomplete - hiddenman", function(assert) {
+	qunit.test("email mask - clearIncomplete - hiddenman", function (assert) {
 		var done = assert.async(),
 		var done = assert.async(),
 			$fixture = $("#qunit-fixture");
 			$fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
@@ -232,14 +232,14 @@ define([
 		testmask.focus();
 		testmask.focus();
 		$("#testmask").Type("akornilov@");
 		$("#testmask").Type("akornilov@");
 		testmask.blur();
 		testmask.blur();
-		setTimeout(function() {
+		setTimeout(function () {
 			assert.equal(document.getElementById("testmask").inputmask._valueGet(), "", "Result " + document.getElementById("testmask").inputmask._valueGet());
 			assert.equal(document.getElementById("testmask").inputmask._valueGet(), "", "Result " + document.getElementById("testmask").inputmask._valueGet());
 			done();
 			done();
 
 
 		}, 0);
 		}, 0);
 	});
 	});
 
 
-	qunit.test("email mask - clearIncomplete - hiddenman", function(assert) {
+	qunit.test("email mask - clearIncomplete - hiddenman", function (assert) {
 		var done = assert.async(),
 		var done = assert.async(),
 			$fixture = $("#qunit-fixture");
 			$fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
@@ -251,14 +251,14 @@ define([
 		testmask.focus();
 		testmask.focus();
 		$("#testmask").Type("akornilov@gmail.com");
 		$("#testmask").Type("akornilov@gmail.com");
 		testmask.blur();
 		testmask.blur();
-		setTimeout(function() {
+		setTimeout(function () {
 			assert.equal(document.getElementById("testmask").inputmask._valueGet(), "akornilov@gmail.com", "Result " + document.getElementById("testmask").inputmask._valueGet());
 			assert.equal(document.getElementById("testmask").inputmask._valueGet(), "akornilov@gmail.com", "Result " + document.getElementById("testmask").inputmask._valueGet());
 			done();
 			done();
 
 
 		}, 0);
 		}, 0);
 	});
 	});
 
 
-	qunit.test("mask: '\\\\a{*}', repeat: 5 - voidmain02", function(assert) {
+	qunit.test("mask: '\\\\a{*}', repeat: 5 - voidmain02", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -273,7 +273,7 @@ define([
 
 
 	});
 	});
 
 
-	qunit.test("[a{1,3}-]9999 - type abc1234 => delete c - ivodopyanov", function(assert) {
+	qunit.test("[a{1,3}-]9999 - type abc1234 => delete c - ivodopyanov", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -285,7 +285,7 @@ define([
 		assert.equal(document.getElementById("testmask").inputmask._valueGet(), "ab-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
 		assert.equal(document.getElementById("testmask").inputmask._valueGet(), "ab-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
 	});
 	});
 
 
-	qunit.test("email mask - mouseclick to domain part - hiddenman", function(assert) {
+	qunit.test("email mask - mouseclick to domain part - hiddenman", function (assert) {
 		var done = assert.async(),
 		var done = assert.async(),
 			$fixture = $("#qunit-fixture");
 			$fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
@@ -300,12 +300,12 @@ define([
 		$("#testmask").trigger("click");
 		$("#testmask").trigger("click");
 
 
 		$("#testmask").Type("gmail.com");
 		$("#testmask").Type("gmail.com");
-		setTimeout(function() {
+		setTimeout(function () {
 			assert.equal(document.getElementById("testmask").inputmask._valueGet(), "akornilov@gmail.com", "Result " + document.getElementById("testmask").inputmask._valueGet());
 			assert.equal(document.getElementById("testmask").inputmask._valueGet(), "akornilov@gmail.com", "Result " + document.getElementById("testmask").inputmask._valueGet());
 			done();
 			done();
 		}, 0);
 		}, 0);
 	});
 	});
-	qunit.test("I{1,3}-ZZ - rgafaric", function(assert) {
+	qunit.test("I{1,3}-ZZ - rgafaric", function (assert) {
 		var done = assert.async(),
 		var done = assert.async(),
 			$fixture = $("#qunit-fixture");
 			$fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" value="VAA" />');
 		$fixture.append('<input type="text" id="testmask" value="VAA" />');
@@ -324,13 +324,13 @@ define([
 			}
 			}
 		}).mask(testmask);
 		}).mask(testmask);
 		testmask.blur();
 		testmask.blur();
-		setTimeout(function() {
+		setTimeout(function () {
 			assert.equal(document.getElementById("testmask").inputmask._valueGet(), "V-AA", "Result " + document.getElementById("testmask").inputmask._valueGet());
 			assert.equal(document.getElementById("testmask").inputmask._valueGet(), "V-AA", "Result " + document.getElementById("testmask").inputmask._valueGet());
 			done();
 			done();
 		}, 0);
 		}, 0);
 	});
 	});
 
 
-	qunit.test("email mask - some.body@mail.com - delete before @", function(assert) {
+	qunit.test("email mask - some.body@mail.com - delete before @", function (assert) {
 		var $fixture = $("#qunit-fixture");
 		var $fixture = $("#qunit-fixture");
 		$fixture.append('<input type="text" id="testmask" />');
 		$fixture.append('<input type="text" id="testmask" />');
 		var testmask = document.getElementById("testmask");
 		var testmask = document.getElementById("testmask");
@@ -342,4 +342,17 @@ define([
 		$("#testmask").SendKey(Inputmask.keyCode.DELETE);
 		$("#testmask").SendKey(Inputmask.keyCode.DELETE);
 		assert.equal(testmask.value, "some.body@ail.com", "Result " + testmask.value);
 		assert.equal(testmask.value, "some.body@ail.com", "Result " + testmask.value);
 	});
 	});
+
+	qunit.test("email mask -123@mail.com - 123 => info", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append('<input type="text" id="testmask" />');
+		var testmask = document.getElementById("testmask");
+		Inputmask("email").mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("123@mail.com");
+		$.caret(testmask, 0, 3);
+		$("#testmask").Type("info");
+		assert.equal(testmask.value, "info@mail.com", "Result " + testmask.value);
+	});
 });
 });