在html输入中添加带有imaskjs的后缀

Jak*_*nda 2 javascript

我试图通过在末尾添加货币符号 (\xe2\x82\xac) 使用 [imaskjs][1] 创建屏蔽输入。

\n

有一个前缀 ($) 的示例,它按预期工作,但假设这是因为它位于开头。该库检测到某些内容丢失并自动更正。就我而言,它仍在等待手动输入来完成第一个模式(数字模式可能有更多数字)

\n

例如,如果您输入两个零或任何超过 10 000(设置为最大值)的内容,它就会起作用。

\n

我已经用代码设置了一个jsfiddle。
\n https://jsfiddle.net/7phbaemz/4/

\n
var element = document.getElementById(\'input\');\nvar maskOptions = {\n  mask: \'num \xe2\x82\xac\',\n  blocks: {\n    num: {\n      mask: Number,  // enable number mask\n\n      scale: 2,\n      signed: false, \n      thousandsSeparator: \' \', \n      padFractionalZeros: true,\n      normalizeZeros: true,\n      radix: \',\',\n      mapToRadix: [\'.\'],\n\n      // additional number interval options (e.g.)\n      min: 0,\n      max: 10000,\n    }\n  }\n}\nvar mask = IMask(element, maskOptions);\n
Run Code Online (Sandbox Code Playgroud)\n

如何在焦点丢失时自动格式化?
\n任何帮助表示赞赏。谢谢!

\n

Jak*_*nda 5

我最后想通了。\n应该禁用惰性求值:

\n
var maskOptions = {\n  lazy: false, // <-- HERE\n  mask: \'num \xe2\x82\xac\',\n  blocks: {\n    num: {\n      mask: Number\n
Run Code Online (Sandbox Code Playgroud)\n

它总是会检查并修复整个表达式的变化。

\n