我试图通过在末尾添加货币符号 (\xe2\x82\xac) 使用 [imaskjs][1] 创建屏蔽输入。
\n有一个前缀 ($) 的示例,它按预期工作,但假设这是因为它位于开头。该库检测到某些内容丢失并自动更正。就我而言,它仍在等待手动输入来完成第一个模式(数字模式可能有更多数字)
\n例如,如果您输入两个零或任何超过 10 000(设置为最大值)的内容,它就会起作用。
\n我已经用代码设置了一个jsfiddle。
\n https://jsfiddle.net/7phbaemz/4/
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);\nRun Code Online (Sandbox Code Playgroud)\n如何在焦点丢失时自动格式化?
\n任何帮助表示赞赏。谢谢!
我最后想通了。\n应该禁用惰性求值:
\nvar maskOptions = {\n lazy: false, // <-- HERE\n mask: \'num \xe2\x82\xac\',\n blocks: {\n num: {\n mask: Number\nRun Code Online (Sandbox Code Playgroud)\n它总是会检查并修复整个表达式的变化。
\n