我试图使用jQuery基本上替换用户点击“输入”后文本框中文本末尾的光标
我有“输入”部分工作 – 但我不知道如何[在输入部分之后] – 我可以让光标返回到文本框内输入文本的末尾?
即,此时,当用户点击进入时 – 光标转到一个新行,我希望它基本上到达当前文本的末尾?
一些代码:
jQuery('#textBox').keyup(function (e) { if (e.keyCode == 13) { ... submits textBox } jQuery(this).focus(function() { var val = this.input.value; //store the value of the element this.input.value = ''; //clear the value of the element this.input.value = val; //set that value back. )}; });
解决方法
如果您只是想阻止’enter’键创建换行符,可以使用preventDefault来阻止它.
$("textarea").keypress(function (event) { if (event.which == '13') { event.preventDefault(); } });
如果你真的想在输入中的任何地方按下输入以转到输入的末尾,你也可以重置将始终将光标放在输入末尾的值:
$("textarea").keypress(function (event) { if (event.which == '13') { var val = $(this).val(); $(this).val(''); $(this).val(val); event.preventDefault(); } });