Я использую библиотеку масок ввода jquery https://github.com/RobinHerbots/Inputmask.
У меня есть четыре поля ввода, аналогичные приведенным ниже, чтобы применить маску, два из них маскируются очень плавно, но два других (с прикрепленным к ним прослушивателем событий изменения jquery) затрачивают на маскировку и в итоге получают Uncaught RangeError: Maximum call stack size exceeded at Array.join (native)
ошибка. Также каждое поле замораживает браузер при нажатии и изменении.
Вот код кофейного кода:
root.setInputMask = (elem) ->
options = {
alias : 'numeric',
suffix : 'IN',
digits : 3,
autoGroup : true,
autoUnmask : true,
allowMinus: true,
placeholder: '0',
groupSeparator : ',',
digitsOptional : false,
removeMaskOnSubmit :true
}
Inputmask.extendAliases({ 'apexAlias': options });
Inputmask('apexAlias').mask(elem);
jQuery ->
$("input.inputmask").each ->
setInputMask($(this))
и поля ввода:
<input data-mask-suffix="AUD" class="string optional number-coversion form-control inputmask" type="text" placeholder="" style="text-align: right;">
Я пытался отладить некоторое время, но проблема в том, что я не могу воспроизвести это на моем локальном хосте, и браузер зависает на производстве.