问题
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?
- How to get row and column of cursor?
- how can I calculate font width and height (especially non-fixed width font with some Bold/Italic style)
- How to make sure the DIV appears at the start of a word?
Thank you in advance!
回答1:
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.
回答2:
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.
来源:https://stackoverflow.com/questions/5752147/jquery-get-textarea-cursor-caret-x-y-position-and-show-a-div-underneath