jQuery 获取文本区域光标/插入符 X,Y 位置并在下面显示一个 DIV

发布于 2024-11-02 16:33:00 字数 264 浏览 2 评论 0原文

我正在尝试在 Gmail/Google Docs Richtext WYSIWYG edtior 中实现类似“更改/删除链接”的功能,当您键入 URL 时,下面会显示一个 div,上面写着“转到链接、更改、远程”

我怎么能写这样的东西使用 jQuery?

  1. 如何获取光标的行数和列数?
  2. 如何计算字体宽度和高度(特别是具有某些粗体/斜体样式的非固定宽度字体)
  3. 如何确保 DIV 出现在单词的开头?

先感谢您!

I am trying to implement something like the "Change/Remove Link" in Gmail/Google Docs richtext WYSIWYG edtior, when you type a URL, a div shows underneath it says "Goto Link, Change, Remote"

How could I write something like that using jQuery?

  1. How to get row and column of cursor?
  2. how can I calculate font width and height (especially non-fixed width font with some Bold/Italic style)
  3. How to make sure the DIV appears at the start of a word?

Thank you in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

三生一梦 2024-11-09 16:33:00

答案:http://jsfiddle.net/morrison/57BR3/

< strong>它的作用:

  • 创建位于超链接附近的div。
  • 看起来像谷歌文档框。
  • 能够更改文本和网址。
  • 删除已实施。

它不做什么:

  • 作用于文本区域。文本区域不支持 html,因为它们是纯文本。这是一个复杂的解决过程。找到一个图书馆,然后实施我的答案。
  • 当您的光标通过箭头键移动到其上时打开。由于上述项目而不起作用。

Answer: http://jsfiddle.net/morrison/57BR3/

What it does:

  • Creates div positioned near hyperlink.
  • Looks like Google docs box.
  • Ability to change text and url.
  • Remove is implemented.

What it does not do:

  • Work on textarea. Textareas don't support html as they are plain text. This is a complex process to work-around. Find a library, then implement my answer.
  • Open when your cursor gets moved onto it by arrowkeys. Doesn't work because of above item.
合约呢 2024-11-09 16:33:00

您建议您正在构建一个所见即所得编辑器。您确定要使用文本区域吗?文本区域不支持 HTML。回答您的 稍后评论,获取文本区域中插入符的 (x, y) 位置的最佳方法是使用 textarea-caret-position 插件

You're suggesting you're building a WYSIWYG editor. Are you sure you want to use a textarea? Textareas don't support HTML. To answer your later comment, the best way to get the (x, y) position of the caret in a text area is to use the textarea-caret-position plugin.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文