添加文本后,将光标置于文本区域的末尾

时间:2019-01-17 03:18:56

标签: javascript html onclick textarea

我正在尝试创建一个按钮,以便在某人的个人资料页面上发表评论。 JavaScript现在将“ @username”添加到文本区域,因此进行了某种提及。这很好。唯一的问题是,当我在添加提及内容后尝试将焦点移到文本区域时,光标将放置在文本之前,而不是之后。

<a style="cursor: pointer;" class="pull-right"onclick='document.getElementById("comment").value = "@username"; document.section.comment.focus();'>Click to comment</a>

对于文本区域

<textarea id="comment" name="comment" class="form-control" type="text" rows="4" placeholder="Write comment here" ></textarea>

<a style="cursor: pointer;" class="pull-right" onclick='document.getElementById("comment").value = "@username "; document.section.comment.focus();'>Click to comment</a>

<br><br>
<form action='' method="POST" name="section">
  <textarea id="comment" name="comment" class="form-control" type="text" rows="4" placeholder="Write your comment" ></textarea><!-- <p id="reageer_op"></p> -->
</form>

我想让它尽可能简单。

有没有jQuery的解决方案吗?我在https://css-tricks.com/snippets/jquery/mover-cursor-to-end-of-textarea/

处找到了jQuery解决方案

1 个答案:

答案 0 :(得分:0)

我自己找到了解决方案,将以下内容添加到按钮的脚本中

document.section.comment.setSelectionRange(document.section.comment.value.length,document.section.comment.value.length);

<a style="cursor: pointer;" class="pull-right" onclick='document.getElementById("comment").value = "@username "; document.section.comment.focus();document.section.comment.setSelectionRange(document.section.comment.value.length,document.section.comment.value.length);'>Click to comment</a>

<br><br>
<form action='' method="POST" name="section">
  <textarea id="comment" name="comment" class="form-control" type="text" rows="4" placeholder="Write your comment" ></textarea><!-- <p id="reageer_op"></p> -->
</form>

这成功了!还是谢谢你!