背景
我的页面有 3 个输入货币数字的 input
元素
这些带有 jQuery 句柄的 number
类型的 input
元素,最多允许小数点后两位。如果用户尝试输入第三位小数,则不会打印,这很好。
但是...
问题
当输入已经具有有效的 2d.p 输入(例如 12.11
)并且希望突出显示字段字符(例如单击并将突出显示为蓝色)以更改/覆盖所有字符时,jQuery 处理程序认为其第三个十进制输入并且不打印但是它实际上需要做的是覆盖整个并从头开始。
所以
有没有办法检查输入
字段字符是否突出显示?
我知道如果我的 input
有 type="text"
并且只使用 selectionStart
和 selectionEnd
但我想将其保留为 type="number"
。
对 jQuery 代码处理小数点后两位的任何其他建议,我将不胜感激
最佳答案
如果我正确理解您的问题,请尝试以下最小更新来检测用户是否“突出显示”了输入值:
if (CharAfterdot > 3 && !window.getSelection().toString()) { return false; } }
因此,如果通过上述方法找到“选择”(非空/未定义),则代码允许进一步输入(在您的情况下通过突出显示覆盖)。
更新了 fiddle :
关于javascript - jQuery 检查输入字段字符是否突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41133735/