Javascript / jQuery将游标设置为可编辑的DIV

时间:2012-08-23 20:35:35

标签: javascript jquery html cursor contenteditable

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

我基本上想调用一行代码来执行以下伪代码。

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

    这是示例文本|

    将光标设置为|是

    这有多简单?

    的jsfiddle:HTTP://jsfiddle.net/v8agZ/5/

    由于

2 个答案:

答案 0 :(得分:1)

这种方式可以将光标放在可编辑的 div 的末尾(改编自this question)。

<强> 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 (在这种情况下没用),您可以使用mydiv$()方法获取get()元素如下:

var mydiv = $("#mydiv").get(0);
setCursorToEnd(mydiv);

答案 1 :(得分:0)

我认为您可以使用jCaret plugin

A Demo,不是我的