jQuery文本框光标到文本结尾?

时间:2011-05-10 16:22:48

标签: jquery textbox focus

我正在尝试使用jQuery基本上在用户点击“enter”后在文本框中的文本末尾替换光标

我有“输入”部分工作 - 但我不知道[在输入部分之后] - 我可以让光标返回到文本框内输入文本的末尾吗?

即。此刻,当用户点击进入时 - 光标会转到一个新行,我希望它基本上转到当前文本的末尾?

一些代码:

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.  
        )};    
});

1 个答案:

答案 0 :(得分:6)

如果您只是想阻止'enter'键创建换行符,可以使用preventDefault来阻止它。

$("textarea").keypress(function (event) {
    if (event.which == '13') {
        event.preventDefault();
    }
});

fiddle

如果你真的想在输入中输入 where 到输入的末尾,你也可以重置这个值,它总是把光标放在输入的末尾:

$("textarea").keypress(function (event) {
    if (event.which == '13') {
        var val = $(this).val();       
        $(this).val('');
        $(this).val(val);
        event.preventDefault();
    }
});