当你在Stackoverflow中点击'Ask question'时,你会看到一个文本“What's your programming question?Be descriptive.”我想要同样的事情,所有我需要的是移动我的光标到文本字段的开头。我如何用jquery做到这一点?
vmpqdwk31#
也许这是一个矫枉过正,但这些功能是有帮助的,以选择一个输入字段的一部分。下面的代码将光标放在第二个字段的第一个字符上。
<html> <head> <title>so</title> </head> <body> <input value="stack" /> <input value="overflow" /> <script> var inp = document.getElementsByTagName('INPUT')[1]; if (inp.createTextRange) { var part = inp.createTextRange(); part.move("character", 0); part.select(); } else if (inp.setSelectionRange) { inp.setSelectionRange(0, 0); } inp.focus(); </script> </body> </html>
字符串
ecbunoof2#
你可以使用focus()方法。如果我回忆一下jQuery,它是这样的:$(“#question_input_field_id”).focus();(如果我没记错的话)更新:开始时设置光标:
$("#question_input_field_id").focus(); $("#question_input_field_id").get(0).setSelectionRange(0,0);
u0sqgete3#
如果你查看stackoverflow > ask question的源代码,你会发现:
<table style="width:668px"> <tr> <td style="width:50px"><label for="title">Title</label></td> <td style="padding-left:5px"><input id="title" name="title" type="text" maxlength="300" tabindex="100" style="width:610px" value=""> <span class="edit-field-overlay">What's your programming question? Be descriptive.</span> </td> </tr> </table>
字符串真正发生的事情是,CSS代码使<span class="edit-field-overlay">移动到输入框的顶部,并在需要时显示隐藏.
<span class="edit-field-overlay">
zvms9eto4#
这将确保光标将在焦点上的值之后。它被所有浏览器广泛支持。
var inpu_val = $("#my_input").val(); $("#my_input").val('').val(inpu_val).focus();
siotufzp5#
$('#txtYourTextBox').blur(function () { var val = $("#txtYourTextBox").val(); $("#txtYourTextBox").val(''); setTimeout(function () { $("#txtYourTextBox").val(val); }, 20); });
5条答案
按热度按时间vmpqdwk31#
也许这是一个矫枉过正,但这些功能是有帮助的,以选择一个输入字段的一部分。
下面的代码将光标放在第二个字段的第一个字符上。
字符串
ecbunoof2#
你可以使用focus()方法。如果我回忆一下jQuery,它是这样的:$(“#question_input_field_id”).focus();(如果我没记错的话)
更新:开始时设置光标:
字符串
u0sqgete3#
如果你查看stackoverflow > ask question的源代码,你会发现:
字符串
真正发生的事情是,CSS代码使
<span class="edit-field-overlay">
移动到输入框的顶部,并在需要时显示隐藏.zvms9eto4#
这将确保光标将在焦点上的值之后。它被所有浏览器广泛支持。
字符串
siotufzp5#
字符串