中移动插入符号?-6ren"> 中移动插入符号?-因此,当单击 input 时,我试图让插入符号移动。当 input 类型为 text 时,我发现的代码有效。但是当你将它设置为 number - 它不起作用。另外,我如何在不在参数中声明值(即 55)-6ren">
gpt4 book ai didi

javascript - 如何在 <input type ="number"> 中移动插入符号?

转载 作者:可可西里 更新时间:2023-11-01 14:45:29 26 4
gpt4 key购买 nike

因此,当单击 input 时,我试图让插入符号移动。当 input 类型为 text 时,我发现的代码有效。但是当你将它设置为 number - 它不起作用。另外,我如何在不在参数中声明值(即 55)的情况下传递长度?

HTML

<input type="number" name="cost" value="0.00" />

JavaScript

$.fn.setCursorPosition = function (pos) {
this.each(function (index, elem) {
if (elem.setSelectionRange) {
elem.setSelectionRange(pos, pos);
} else if (elem.createTextRange) {
var range = elem.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
});
return this;
};

$('input[name=cost]').click(function() {
$('input[name=cost]').setCursorPosition(55);
});


编辑:

做了一些挖掘,发现 chrome 不允许你用 number 来做这个......有没有人知道一个跨浏览器的工作并且不需要将类型切换到 >文本?

编辑 2:
好吧,经过大量搜索后,似乎没有解决方法可以使它与 number 类型一起使用。我不明白。为什么浏览器厂商要这么做?我发誓我们应该开始让所有元素都变成伪元素,只是为了激怒他们。尤其是谷歌,那会对其宝贵的小搜索算法造成严重破坏

最佳答案

尝试通过在按下键时将输入的 type 属性更改为 text 并在 keyup 时返回到 number 来解决这个问题。

有点hacky,但会解决问题。

关于javascript - 如何在 &lt;input type ="number"> 中移动插入符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31017450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com