可编辑的div,focus之后,光标怎么定位到文本最后?

junkli 2012-10-01 01:45:59
使用了contenteditable=true的div,focus之后,会在最前的
...全文
1731 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gearss00 2012-10-02
  • 打赏
  • 举报
回复
道理其实是一样的,你看这个是你想要的么?
KingWTD 2012-10-01
  • 打赏
  • 举报
回复
道理其实是一样的,你看这个是你想要的么?

<html>
<body>
<div id="input">OK, no problem.</div>
<input type="button" value="focus" onclick="setFocus('input',true)"/>
<input type="button" value="blur" onclick="setFocus('input',false)"/>
<script type="text/javascript">
function setFocus(id, yes) {
var obj = document.getElementById(id);
if (yes) {
obj.contentEditable = true;
obj.focus();
obj.innerText = obj.innerText;
} else {
obj.blur();
}
}
</script>
</body>
</html>
junkli 2012-10-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

我跟你一样,也碰到了这样的问题,后来我就想:当文本框没有值的时候,光标会停在最前;当向文本框输入值的时候,光标就会停在当前输入的位置。如果现在能够模拟出这种状态,那么问题就可以迎刃而解了。那么就让文本框先获得焦点,然后再改变文本框中的值就可以实现了。看看下面这段代码,就是这个思想。
HTML code

<html>
<body>
<input id="input" type="text" ……
[/Quote]
在可编辑的div中,这样不行,郁闷死了,不知道知乎这个网站是怎么实现的
KingWTD 2012-10-01
  • 打赏
  • 举报
回复
我跟你一样,也碰到了这样的问题,后来我就想:当文本框没有值的时候,光标会停在最前;当向文本框输入值的时候,光标就会停在当前输入的位置。如果现在能够模拟出这种状态,那么问题就可以迎刃而解了。那么就让文本框先获得焦点,然后再改变文本框中的值就可以实现了。看看下面这段代码,就是这个思想。

<html>
<body>
<input id="input" type="text" value="OK, no problem."/>
<input type="button" value="focus" onclick="setFocus('input',true)"/>
<input type="button" value="blur" onclick="setFocus('input',false)"/>
<script type="text/javascript">
function setFocus(id, yes) {
var obj = document.getElementById(id);
if (yes) {
obj.focus();
obj.value = obj.value;
} else {
obj.blur();
}
}
</script>
</body>
</html>
junkli 2012-10-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

同问,在谷歌上会自动聚焦在后面,但IE就不行了
[/Quote]
齐了怪了,我是IE上能行的,chrome却不行,你是怎么写的
梦鱼的鹿 2012-10-01
  • 打赏
  • 举报
回复
同问,在谷歌上会自动聚焦在后面,但IE就不行了

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧