有搞js的吗? 有一个问题,我想点击某个按钮,就可以在div中光标位置插入指定文字,怎么做 5

有搞js的吗?有一个问题,我想点击某个按钮,就可以在div中光标位置插入指定文字,怎么做... 有搞js的吗?
有一个问题,我想点击某个按钮,就可以在div中光标位置插入指定文字,怎么做
展开
 我来答
cainiaokan
2014-11-05 · TA获得超过2917个赞
知道小有建树答主
回答量:651
采纳率:66%
帮助的人:612万
展开全部
var range = window.getSelection().getRangeAt(0);
range.insertNode(document.createTextNode('新增文本'));
追问
可以再详细一点吗?
追答

这是DOM中的范围。范围指代你页面中的选中区域。


var selection = window.getSelection();//返回当前选中的范围集合。范围可以有多个。
var range = selection.getRangeAt(0);//获取第一个范围,一般的交互操作只会产生一个范围

剩下的你百度搜索一下“html dom range”。就可以了。

思路告诉你一下:

  1. 点击按钮时,判断range是否在你的div范围内。如果在你希望的div返回内,你就在光标位置插入指定文字,否则,用户可能没有在div中编辑,这时候点是无效的,或者你自动追加到div的末尾。参考一下教程:http://wenku.baidu.com/link?url=SucEsJCIaKJXdCoEQIa50AsHsgATZrv6E-E6oaUzeT6juNABqw126Kj6Xf0ZVPRbPF_3tWvSo-Q3SmdOBVsujN_YJadQJF5oA4R6GXEOFeu

  2. 考虑如果用户在div中选中了某一段文字,这时候用户再点击按钮,该如何处理?建议替换选中的文字。

  3. 用户点击按钮时,div会失去焦点,也就是光标位置丢失了,你是否需要为用户恢复光标位置?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式