我试图使用rangy来操纵选择。我的最终目标是在插入符号的左边选择一段已知长度的文本,但首先我想了解这些工具。
这是我的示例测试页
.contenteditable:empty:before {
content: "\200B";
display: inline;
}
当我将光标放在可编辑的div中然后单击SelectStuff时,我希望在光标右侧选择四个字符。它没有,这意味着我还没有理解如何使用它。
有人可以告诉我吗?使用<html>
<head>
<title>TextRange Demo</title>
<script type="text/javascript" src="../lib/rangy-core.js"></script>
<script type="text/javascript" src="../lib/rangy-classapplier.js"></script>
<script type="text/javascript" src="../lib/rangy-textrange.js"></script>
<script type="text/javascript">
window.onload = function() {
rangy.init();
};
function SelectStuff(){
var r = rangy.getSelection().getRangeAt(0);
r.moveEnd("character", 4);
}
</script>
</head>
<body>
<div id="content">
<div unselectable="on" onclick="SelectStuff()">SelectStuff</div>
<div contenteditable="true" style="border: solid thin blue;">
The quick brown fox jumps over the lazy dog.
</div>
</div>
</body>
</html>
和moveStart
方法未在提供的样本中得到证明。
答案 0 :(得分:1)
没关系,我找到了Internet Explorer本机TextRange的示例,它们的工作方式相同。该范围实际上正在发生变化,但要查看您需要跟进的更改r.select();