Find location of highlighted text
Please support our JavaScript / DHTML / AJAX advertiser: Programming Forums
![]() |
I'm working on a website that's basically a forum software, but with a different arrangement. There are only 3 levels of posts (questions, solutions, and comments), and for the comments I want to be able to have the user highlight part of a solution to comment on. To do that, I want to just have them highlight part of the reply and it will automatically recognize the targeted area.
I've been able to get the text value using document.selection.somethingOrOther, but it does nothing about the actual position of the text in the page. The problem is that if the page contains "foobar fubar foobar" and the user highlights the second foobar, I can't tell the difference between highlighting the first.
Any help is appreciated, and I'm only worried about IE compatability (odd request, I know
), so hopefully there's something hackish out there...
I've been able to get the text value using document.selection.somethingOrOther, but it does nothing about the actual position of the text in the page. The problem is that if the page contains "foobar fubar foobar" and the user highlights the second foobar, I can't tell the difference between highlighting the first.
Any help is appreciated, and I'm only worried about IE compatability (odd request, I know
), so hopefully there's something hackish out there... Here you go MS Boy... :-)
The above is just a small example on what you can do with the API. Once the text is selected, you get its offset in pixels which you can then use to distinguish between the first and second foobar.
If my snippet doesn't give you what you need, also read on selection and range.
Do let me know if it works.
<html>
<head>
<script>
function boundDim(oObject)
{
var oTextRange = document.selection.createRange();
if (oTextRange != null) {
alert("The bounding left is \n" + oTextRange.boundingLeft);
oTextRange.pasteHTML("<b>" + oTextRange.htmlText + "</b>");
}
}
</script>
</head>
<body onclick="boundDim(this);">Hello to all. Hello to me.</body>
</html>The above is just a small example on what you can do with the API. Once the text is selected, you get its offset in pixels which you can then use to distinguish between the first and second foobar.
If my snippet doesn't give you what you need, also read on selection and range.
Do let me know if it works.
I don't accept change; I don't deserve to live.
Act from reason, and failure makes you rethink and study harder.
Act from faith, and failure makes you blame someone and push harder.
-- Eric Naggum RIP :-(
Act from reason, and failure makes you rethink and study harder.
Act from faith, and failure makes you blame someone and push harder.
-- Eric Naggum RIP :-(
![]() |
Similar Threads
Other Threads in the JavaScript / DHTML / AJAX Forum
- Parsing html form. (PHP)
- Win2000Pro Desktop Black Screen Message Virus Warning Fix? (Viruses, Spyware and other Nasties)
- To read color highlighted text in word document from vb.net (VB.NET)
- Text to Speech (Visual Basic 4 / 5 / 6)
- Tkinter Text tags (Python)
- The Datagrid: How does one fill text boxes in edit mode with their original content? (ASP.NET)
- HEX location (Windows 9x / Me)
- Cannot enter any text in a IE text-box (Viruses, Spyware and other Nasties)
- C++ Syntax (C++)
Other Threads in the JavaScript / DHTML / AJAX Forum
- Previous Thread: How do you read radio buttons in XHTML
- Next Thread: Frameset and setTimeout
•
•
•
•
Views: 3229 | Replies: 3 | Currently Viewing: 1 (0 members and 1 guests)






Linear Mode