关于javascript:类型电子邮件不支持selectionrange

Type Email doesn't support selectionrange

当我将焦点放在文本框上时,我正在尝试将光标设置到开头的位置。这就是我所拥有的:

1
2
3
4
5
6
$("ID").focus(function () {
    var input = this;
    setTimeout(function() {
        input.setSelectionRange(0, 0);
    }, 0);
});

但是每次尝试加载脚本时都会出现此错误:

Uncaught InvalidStateError: Failed to execute 'setSelectionRange' on 'HTMLInputElement': The input element's type ('email') does not support selection.

猜猜我不能在电子邮件上使用setSelectionRange。那么,关于如何在输入文本框中设置光标位置的其他解决方案(不更改电子邮件类型)呢?


是的,使用setSelectionRange函数输入电子邮件时似乎存在一个错误。因此,可以做的是修改输入的类型,以使setSelectionRange起作用而不是错误。

1
2
3
4
5
6
7
8
$('#ID').focus(function () {
    var input = this;
    setTimeout(function () {
        $(input).attr('type', 'text');
        input.setSelectionRange(0, 0);
        $(input).attr('type', 'email');
    }, 100);
});