@@ -206,9 +206,13 @@ $.widget( "ui.mask", {
206
206
if ( bufferObject && bufferObject . length > 1 ) {
207
207
bufferObject . value = this . _validValue ( bufferObject , bufferObject . value ) ;
208
208
that . _paint ( ) ;
209
- that . _caret ( that . _seekRight ( bufferObject . start + bufferObject . length - 1 ) ) ;
210
209
event . preventDefault ( ) ;
211
-
210
+ }
211
+ position = that . _seekRight ( bufferObject . start + bufferObject . length - 1 ) ;
212
+ bufferObject = that . buffer [ position ] ;
213
+ if ( bufferObject && bufferObject . length > 1 ) {
214
+ that . _caret ( position , position + ( bufferObject && bufferObject . length > 1 ? bufferObject . length : 0 ) ) ;
215
+ event . preventDefault ( ) ;
212
216
}
213
217
}
214
218
return ;
@@ -398,7 +402,9 @@ $.widget( "ui.mask", {
398
402
destPosition += destObject . length ) {
399
403
destObject = this . buffer [ destPosition ] ;
400
404
bufferObject = this . buffer [ bufferPosition ] ;
401
- if ( destObject . valid ) {
405
+
406
+ // we don't want to shift values into multi character fields
407
+ if ( destObject . valid && destObject . length === 1 ) {
402
408
if ( bufferPosition < bufferLength ) {
403
409
if ( this . _validValue ( destObject , bufferObject . value ) ) {
404
410
destObject . value = bufferObject . value ;
@@ -426,6 +432,8 @@ $.widget( "ui.mask", {
426
432
if ( shiftingValue === false ) {
427
433
shiftingValue = bufferObject . value ;
428
434
} else {
435
+
436
+ // we don't want to shift values into multi character fields
429
437
if ( bufferObject . length === 1 && this . _validValue ( bufferObject , shiftingValue ) ) {
430
438
temp = bufferObject . value ;
431
439
bufferObject . value = shiftingValue ;
0 commit comments