Browsers: IE6 won't select/highlight text correctly

started by Oedipus on Jul 21, 2004 — RSS Feed

Oedipus Oedipus
Posts: 1

Hello, and welcome to my first post!

Please visit my work-in-progress to witness the problem firsthand: http://www.animalactivists.org/WFAD.  Clicking the About WFAD link will probably give us a better example.

Simply put, IE6 does not allow users to select the text correctly.  Try it and see.  Either you select partial text, or you don't get much control over what you select, or you select the whole damn page!

This does not happen in Mozilla's newest, though I can't say I've tried any other browsers.

Everything is in div tags and I've made pretty extensive use of my stylesheet, but I can't seem to find anything wrong with what I've done.  I tried giving the text's div tag the highest z-index on the page, but that didn't solve the problem, and it messed with my formatting anyway.

Is this a browser issue?  If so, does anyone know of any workarounds? ... or perhaps there is something I can do differently....

Thankfully awaiting your suggestions and loathing IE,

Frank

Joe Gillespie Joe Gillespie
Posts: 528

I'm not sure why you need to select this text in the first place but if you want to be able to select it to copy and paste, putting it in a form textarea would be more reliable.

The problem with selecting text in a div is that a browser is not a text editor. It knows how to display the text but how would it know what to highlight when the the text font and size is anyone's guess?

You could 'bluff' the action using javascript and a 'copy text' link or button that prints only the text you want into a new window.

Mmorse Mmorse
Posts: 1

from what I have read on other forums, it's an IE6 bug. You can change your doctype to force IE6 into quirks mode or place this javascript in the headtag.

<script type="text/javascript">

if (window.createPopup && document.compatMode &&
document.compatMode=="CSS1Compat"
{
 document.onreadystatechange = onresize = function fixIE6AbsPos()
 {
   if (!document.body) return;
   if (document.body.style.margin != "0px" document.body.style.margin = 0;
   onresize = null;
   document.body.style.height = 0;
   setTimeout(function(){ document.body.style.height =
document.documentElement.scrollHeight+'px'; }, 1);
   setTimeout(function(){ onresize = fixIE6AbsPos; }, 100);
 }
}

</script>

mark

Baxter Baxter
Posts: 157

I've had this happen. For me, it was an issue with the way I'd set up a bunch of floats to lay out the page.

You must login to reply