Html编辑器 如何获取当前的selection 具备哪些属性

frankqnj 2008-12-14 05:22:14
比如 一段文字 被加粗 或加了下划线.. 或设置了某个字体. 当我再次选择他们时 如何获取 他具备的 这些 属性?
有没有现成的方法?
难道是要 获取整个innerHTML 然后找到当前selection 匹配文字 再判断外围 有哪些属性? 这效率太低了吧?

...全文
191 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
frankqnj 2008-12-14
  • 打赏
  • 举报
回复
qjy1111@hotmail.com 谢谢
Jermaine 2008-12-14
  • 打赏
  • 举报
回复
我给你段示例吧。。。你邮箱
frankqnj 2008-12-14
  • 打赏
  • 举报
回复
谢谢你. 能不能说的详细点?
是指 selection.property 这个可以获取到我要想要的东西么? 我测试了. undefined ...
Jermaine 2008-12-14
  • 打赏
  • 举报
回复
IHTMLDocument2::selection Property

--------------------------------------------------------------------------------

Retrieves an interface pointer to an object representing the active selection. The active selection can be an insertion point, or a highlighted block of text or other elements in the document upon which the user or a script can carry out an action.
frankqnj 2008-12-14
  • 打赏
  • 举报
回复
您好.我的编辑器 就是用 execCommand() 这个东东 来添加 效果 这东西很方便 唯一的缺点是 各个浏览器 执行这个方法后生成的代码不同.
不过我注意了下. 我接触过的 所有 编辑器 都是使用这个接口 来实现的.

现在的问题就是 如何 再次选择的时候 通过这个接口 获取到 当前的selection对象 被执行过哪些 execCommand()...
Jermaine 2008-12-14
  • 打赏
  • 举报
回复
你的编辑器的文字加粗是怎么做的,可以用DOM API,也可以预定义一系列css,当然后者有些笨但容易扩展,总之不管怎样逆向就可以了。

编辑器的方法一般而言是用JAVAscript实现的
比如:加粗文字,选文字,点击加粗,编辑器会自动将文字转成'<b>...</b>'
你要插入图片时,你只要输入路径,编辑就会自动加入
<img src="路径"> 原理大概就这样的

那么如果再次选择,可以考虑用DOM API找到他们

另外网上已经有的编辑器很多,可以复用,也可以参考一下

87,910

社区成员

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

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