jQuery将光标设置为焦点输入字段的开头

比扬

我有一个输入字段<input value="@website.com" type="text" name="email" id="email">,因此我想输入一个字段,以便当用户专注于此字段时,它将光标移动到之前@website.com

我有以下Javascript / jQuery代码,但它似乎不起作用:

$(document).ready(function() {
    $("#email").focusin(function(){
        $("#email").focus();
        $("#email")[0].setSelectionRange(0,0);
    });
});

似乎.focus()一直在调用该focusin()函数。

我知道$("#email")[0].setSelectionRange(0,0);将光标移到最前面的正确方法,但是当字段具有焦点时如何将其绑定到上面?

编辑:所以当我使用:

$("#email").focus(function(){
    $("#email")[0].setSelectionRange(0,0);
});

当我跳到该字段时,它将光标设置在开始处,但在单击时则不将其设置。

Edit2:这与在此处输入链接描述不同因为它只是获得插入符位置,而我正在设置插入符位置。

本·博特维尼克

这会将输入字段focusANDclick事件绑定到函数。希望这可以帮助!

$('#email').on('focus click', function() {
  $(this)[0].setSelectionRange(0, 0);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" placeholder="Enter your name" autofocus>
<input type="text" id="email" value="@website.com">

或者,没有jQuery ...

document.getElementById('email').addEventListener('click', moveCursor);
document.getElementById('email').addEventListener('focus', moveCursor);

function moveCursor(event) {
   event.target.setSelectionRange(0, 0);
}
<input type="text" placeholder="Enter your name" autofocus>
<input type="text" id="email" value="@website.com">

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将焦点设置为输入字段,而不会使光标闪烁

将焦点和光标设置到文本输入字段/字符串w的末尾。jQuery的

React autoFocus将光标设置为输入值的开头

jQuery:将焦点设置在特定页面上的输入字段上

单击输入字段的填充将光标设置在行的开头,而不是行尾

将焦点设置为文本字段

当特定输入字段为焦点时,jQuery禁用输入字段

QLineEdit:将光标位置设置为从焦点开始

提交后,Chrome扩展程序HTML将焦点设置为输入字段

在不知道其ID的情况下将焦点设置为动态创建的输入字段

jQuery将值设置为委托输入字段

jQuery:将值设置为选择输入字段

jQuery将焦点输入检测为非焦点

将输入字段填充到下一个输入后更改光标焦点

jQuery单击div以在子输入字段中设置光标

将焦点设置在受控组件中表单的输入字段上

在jQuery中自动为输入字段添加边框焦点

ReactJS 将焦点设置为树结构中的输入

重置表单后将焦点重新设置为输入

闪亮:将焦点设置为modalDialog中的输入

提交表单后将焦点设置为输入

将光标放在焦点上的输入字段的值的末尾| 角度2

将提示设置为文本字段中的文本开头

EditText焦点和光标选择输入到错误的输入字段

使用JavaScript或Jquery将焦点设置为动态创建的DIV

将焦点设置为元素

jQuery如何将值从输入字段设置为其他元素的数据属性

如何将输入字段设置为空,在jquery中用作自动完成?

将变量设置为输入值(jQuery)