3

看了一些移动光标的方法,似乎无法提出一种优雅/有效的方式。

我基本上是想调用一行代码来做下面的伪代码。

  1. 获取可编辑 div 中的文本长度
  2. 将光标设置到最后一个字母

例如

这是示例文本|

光标设置在哪里 | 是

这有多简单?

JsFiddle:http://jsfiddle.net/v8agZ/5/

谢谢

4

2 回答 2

1

这是一种可以将光标放在可编辑div末尾的方法(改编自这个问题)。

HTML

<div id="mydiv">
    Lorem ipsum dolor sit amet,
    <br />
    <br />
    consectetur adipisicing elit
</div>

Javascript

function setCursorToEnd(ele) {
    var range = document.createRange();
    var sel = window.getSelection();
    range.setStart(ele, ele.childNodes.length - 1);
    range.collapse(true);
    sel.removeAllRanges();
    sel.addRange(range);
    ele.focus();
}

var mydiv = document.getElementById("mydiv");
setCursorToEnd(mydiv);

如果你想使用jQuery(在这种情况下没用),你可以简单地使用and方法获取mydiv元素,如下所示:$()get()

var mydiv = $("#mydiv").get(0);
setCursorToEnd(mydiv);
于 2013-10-23T13:59:45.050 回答
0

我认为您可以使用jCaret 插件

一个演示,不是我的

于 2012-08-23T20:46:45.937 回答