|
|
@@ -526,10 +526,13 @@
|
|
|
function writeBuffer(input, buffer, caretPos, event, triggerInputEvent) {
|
|
|
if (event && $.isFunction(opts.onBeforeWrite)) {
|
|
|
var result = opts.onBeforeWrite.call(input, event, buffer, caretPos, opts);
|
|
|
- if (result && result.refreshFromBuffer) {
|
|
|
- var refresh = result.refreshFromBuffer;
|
|
|
- refreshFromBuffer(refresh === !0 ? refresh : refresh.start, refresh.end, result.buffer),
|
|
|
- resetMaskSet(!0), caretPos = result.caret || caretPos;
|
|
|
+ if (result) {
|
|
|
+ if (result.refreshFromBuffer) {
|
|
|
+ var refresh = result.refreshFromBuffer;
|
|
|
+ refreshFromBuffer(refresh === !0 ? refresh : refresh.start, refresh.end, result.buffer),
|
|
|
+ resetMaskSet(!0);
|
|
|
+ }
|
|
|
+ caretPos = result.caret || caretPos;
|
|
|
}
|
|
|
}
|
|
|
input._valueSet(buffer.join("")), void 0 != caretPos && caret(input, caretPos),
|
|
|
@@ -1875,7 +1878,7 @@
|
|
|
}
|
|
|
if (opts.autoGroup) {
|
|
|
var rslt = opts.postFormat(buffer, caretPos - 1, !0, opts);
|
|
|
- return rslt.caret = rslt.pos + 1, rslt;
|
|
|
+ return rslt.caret = 0 == caretPos ? caretPos : rslt.pos + 1, rslt;
|
|
|
}
|
|
|
},
|
|
|
regex: {
|