开发者

jQuery get textarea cursor/caret X,Y position and show a DIV underneath

开发者 https://www.devze.com 2023-02-28 04:53 出处:网络
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\"

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 th开发者_开发知识库e DIV appears at the start of a word?

Thank you in advance!


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.


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消