Browse Source

radixposition with initial value = to mask

Robin Herbots 11 years ago
parent
commit
f8433e7e1a

+ 3 - 6
dist/inputmask/jquery.inputmask.js

@@ -875,12 +875,9 @@
                     var input = this;
                     var input = this;
                     $(input).is(":focus") && setTimeout(function() {
                     $(input).is(":focus") && setTimeout(function() {
                         var selectedCaret = caret(input);
                         var selectedCaret = caret(input);
-                        if (selectedCaret.begin == selectedCaret.end) {
-                            var clickPosition = isRTL ? TranslatePosition(selectedCaret.begin) : selectedCaret.begin, lvp = getLastValidPosition(clickPosition);
-                            if (-1 == lvp && opts.radixFocus && "" != opts.radixPoint && -1 != $.inArray(opts.radixPoint, getBuffer())) caret(input, $.inArray(opts.radixPoint, getBuffer())); else {
-                                var lastPosition = seekNext(lvp);
-                                lastPosition > clickPosition ? caret(input, isMask(clickPosition) ? clickPosition : seekNext(clickPosition)) : caret(input, lastPosition);
-                            }
+                        if (selectedCaret.begin == selectedCaret.end) if (opts.radixFocus && "" != opts.radixPoint && -1 != $.inArray(opts.radixPoint, getBuffer()) && getBuffer().join("") == getBufferTemplate().join("")) caret(input, $.inArray(opts.radixPoint, getBuffer())); else {
+                            var clickPosition = isRTL ? TranslatePosition(selectedCaret.begin) : selectedCaret.begin, lastPosition = seekNext(getLastValidPosition(clickPosition));
+                            lastPosition > clickPosition ? caret(input, isMask(clickPosition) ? clickPosition : seekNext(clickPosition)) : caret(input, lastPosition);
                         }
                         }
                     }, 0);
                     }, 0);
                 }).bind("dblclick.inputmask", function() {
                 }).bind("dblclick.inputmask", function() {

+ 3 - 6
dist/jquery.inputmask.bundle.js

@@ -873,12 +873,9 @@
                     var input = this;
                     var input = this;
                     $(input).is(":focus") && setTimeout(function() {
                     $(input).is(":focus") && setTimeout(function() {
                         var selectedCaret = caret(input);
                         var selectedCaret = caret(input);
-                        if (selectedCaret.begin == selectedCaret.end) {
-                            var clickPosition = isRTL ? TranslatePosition(selectedCaret.begin) : selectedCaret.begin, lvp = getLastValidPosition(clickPosition);
-                            if (-1 == lvp && opts.radixFocus && "" != opts.radixPoint && -1 != $.inArray(opts.radixPoint, getBuffer())) caret(input, $.inArray(opts.radixPoint, getBuffer())); else {
-                                var lastPosition = seekNext(lvp);
-                                lastPosition > clickPosition ? caret(input, isMask(clickPosition) ? clickPosition : seekNext(clickPosition)) : caret(input, lastPosition);
-                            }
+                        if (selectedCaret.begin == selectedCaret.end) if (opts.radixFocus && "" != opts.radixPoint && -1 != $.inArray(opts.radixPoint, getBuffer()) && getBuffer().join("") == getBufferTemplate().join("")) caret(input, $.inArray(opts.radixPoint, getBuffer())); else {
+                            var clickPosition = isRTL ? TranslatePosition(selectedCaret.begin) : selectedCaret.begin, lastPosition = seekNext(getLastValidPosition(clickPosition));
+                            lastPosition > clickPosition ? caret(input, isMask(clickPosition) ? clickPosition : seekNext(clickPosition)) : caret(input, lastPosition);
                         }
                         }
                     }, 0);
                     }, 0);
                 }).bind("dblclick.inputmask", function() {
                 }).bind("dblclick.inputmask", function() {

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


+ 3 - 5
js/jquery.inputmask.js

@@ -1621,13 +1621,11 @@
                             setTimeout(function () {
                             setTimeout(function () {
                                 var selectedCaret = caret(input);
                                 var selectedCaret = caret(input);
                                 if (selectedCaret.begin == selectedCaret.end) {
                                 if (selectedCaret.begin == selectedCaret.end) {
-                                    var clickPosition = isRTL ? TranslatePosition(selectedCaret.begin) : selectedCaret.begin,
-                                        lvp = getLastValidPosition(clickPosition);
-
-                                    if (lvp == -1 && opts.radixFocus && opts.radixPoint != "" && $.inArray(opts.radixPoint, getBuffer()) != -1)
+                                    if (opts.radixFocus && opts.radixPoint != "" && $.inArray(opts.radixPoint, getBuffer()) != -1 && getBuffer().join('') == getBufferTemplate().join(''))
                                         caret(input, $.inArray(opts.radixPoint, getBuffer()));
                                         caret(input, $.inArray(opts.radixPoint, getBuffer()));
                                     else {
                                     else {
-                                        var lastPosition = seekNext(lvp);
+                                        var clickPosition = isRTL ? TranslatePosition(selectedCaret.begin) : selectedCaret.begin,
+                                            lastPosition = seekNext(getLastValidPosition(clickPosition));
                                         if (clickPosition < lastPosition) {
                                         if (clickPosition < lastPosition) {
                                             caret(input, isMask(clickPosition) ? clickPosition : seekNext(clickPosition));
                                             caret(input, isMask(clickPosition) ? clickPosition : seekNext(clickPosition));
                                         } else {
                                         } else {