繁体   English   中英

更改文本并在输入中设置光标

[英]Changing a text and setting a cursor in the input

我有一个包含文本的输入。 当我单击此输入时,文本的颜色将改变。 在输入是例如。 文字“ Hello buddy”-当我在Hello单词的末尾单击输入时,是否存在任何将光标设置在开始位置的简单方法(在Hello单词之前)?

$('#your_name').focus(function(){
    if($(this).val() == $(this).attr('title')){
        $(this).css('color', 'red');
    }

    $(this).keyup(function() {
      $(this).val('');
    });
});

当我开始在中键入文本时,如何删除当前文本Hello buddy ,并在输入中仅包含“新”文本? 我正在尝试使用keyup方法,但是我键入的所有内容都被删除了。

在这里查看我的演示 还修改了您的jsFiddle ..参见此处

编辑 :您可以只使用el.setSelectionRange(index, index); 设置插入标记的位置。

对于第二个有关在键入键时删除整个文本的问题,可以使用.one方法,该方法仅执行一次。

$(this).one('keydown', function() {
      $(this).val('');
});

您可以使用输入字段的selectionStart属性来获取插入符号的位置,然后可以通过与该字段的value匹配来检查它是否在单词“ Hello”之后。 然后,您可以使用setSelectionRange将插入符号设置为一个位置。 setSelectionRange(0,0); 将其设置为开始。

编辑:我只是重新阅读了您的问题,如果您只想在再次输入时删除所有文本,则可以使用select()选择该字段中的所有文本。 如果您随后开始输入,它将删除所选文本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM