jQuery检查输入字段字符是否突出显示

时间:2016-12-14 02:16:45

标签: javascript jquery html input

背景

我有一个页面有3个input个元素,需要使用货币编号

这些input类型的number元素带有jQuery句柄,最多可以放置2位小数。如果用户尝试输入第三个小数,则不打印哪个很好。

...然而

问题

当输入已经具有有效的2d.p输入(例如12.11并且希望突出显示字段字符(例如单击拖动突出显示为蓝色)以更改/覆盖所有时,jQuery处理程序认为其第3个十进制输入并且不打印它实际需要做的是覆盖整个并从头开始。

因此

有没有办法检查input字段字符是否突出显示? 我知道,如果我的inputtype="text"并且只使用selectionStartselectionEnd,我可以解决此问题,但我希望将其保留为type="number"。< / p>

代码:jsfiddle DEMO

jQuery代码处理2位小数的任何其他建议,我将不胜感激

1 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,请尝试以下最小更新来检测用户是否“突出显示”了输入值:

if (CharAfterdot > 3 && !window.getSelection().toString()) { return false; }

因此,如果通过上述方法找到'选择'(非空/未定义),则代码允许进一步输入(在您的情况下通过突出显示覆盖)。

更新了小提琴:

https://jsfiddle.net/qtr30w05/3/