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

标签 javascript jquery events

我有一个包含文本的输入。当我点击这个输入时,文本的颜色会改变。在输入中是例如。文本“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 并在输入中仅包含"new"文本?我正在尝试使用 keyup 方法,但我输入的所有内容都被删除了。

最佳答案

查看我的 DEMO这里。还修改了您的 jsFiddle。请参阅 here

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

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

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

关于javascript - 更改文本并在输入中设置光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8957515/

相关文章:

c# - 简单事件c#

jquery - 调试 jQuery 插件

javascript - 在 iOS 上同时播放 Html5 视频和音频?

javascript - 在每个 Jquery 中循环该类

jquery - 使用 CSS 格式化响应式菜单 (jQuery)

jquery - 复选框属性checked为true,但不显示tick

javascript - 何时(或如何)使用 RactiveJS 设置 jQuery 事件处理程序?

javascript - 无法使用 Python 抓取网页

javascript - Google Cloud Functions 和 AWS Lambda 的超时问题

javascript - 对剪切区域进行动画处理时清除 Canvas 时出现问题