webtechy
asked on
Disable Ability to Highlight Text Within a DIV
Dear All,
I'm looking for a way so that the text within a <div>My Text</div> cannot be highlighted by the user.
Anyone any ideas?
Thanks,
Ben.
I'm looking for a way so that the text within a <div>My Text</div> cannot be highlighted by the user.
Anyone any ideas?
Thanks,
Ben.
Well, you can do it with CSS, using positioning, z-index, and a transparent gif.
<html>
<head>
<title></title>
<style type="text/css">
div#over { position:absolute; top:0; left:0; width:100px; height:30px; z-index:1; background-image: url("clear.gif"); }
div#noselect { position:absolute; top:0; left:0; width:100px; height:30px; z-index:1; }
</style>
</head>
<body>
<div id="over"></div>
<div id="noselect">MyText</div>
</body>
</html>
<html>
<head>
<title></title>
<style type="text/css">
div#over { position:absolute; top:0; left:0; width:100px; height:30px; z-index:1; background-image: url("clear.gif"); }
div#noselect { position:absolute; top:0; left:0; width:100px; height:30px; z-index:1; }
</style>
</head>
<body>
<div id="over"></div>
<div id="noselect">MyText</div>
</body>
</html>
Oh dear, me. Yuck indeed. However, I don't think it will stop a user hitting Ctrl+A
ASKER
I actually found the following:
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/unselectable.asp?frame=true
Thought you might be able to do it with CSS ...
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/unselectable.asp?frame=true
Thought you might be able to do it with CSS ...
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
I was thinking about that - but it appears to be IE only, so I thought the z-index would be a better way...
2 things - this should be "-1":
div#noselect { position:absolute; top:0; left:0; width:100px; height:30px; z-index:-1; }
And yes, Ctrl - A will still select the text :-)
2 things - this should be "-1":
div#noselect { position:absolute; top:0; left:0; width:100px; height:30px; z-index:-1; }
And yes, Ctrl - A will still select the text :-)
Its a really bad idea to use z-indexes of 0 or less, some browsers position elements out of sight behind the body!
I wasn't aware of that...
Do you know which one's for future reference?
Do you know which one's for future reference?
The following will do just as well then...
div#over { position:absolute; top:0; left:0; width:100px; height:30px; z-index:2; background-image: url("clear.gif"); }
div#noselect { position:absolute; top:0; left:0; width:100px; height:30px; z-index:1; }
div#over { position:absolute; top:0; left:0; width:100px; height:30px; z-index:2; background-image: url("clear.gif"); }
div#noselect { position:absolute; top:0; left:0; width:100px; height:30px; z-index:1; }
Not off the top of my head - the problem is easily avoided so I don't need to remember where it shows up :)
Good one :-)
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
>> If you use the above for the entire page, your text won't be selectable (IE):
I meant if you you use this (as an alternative to the script above) all text will be unselectable in the body:
<body onselectstart="return false">
I meant if you you use this (as an alternative to the script above) all text will be unselectable in the body:
<body onselectstart="return false">
how about <div onselectstart="return false">Text</div>?
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Hi webtechy,
Thanks for accepting my answer as assisting in your question, but why the B grade?
Please see more about grading here:
https://www.experts-exchange.com/Web/Web_Languages/CSS/help.jsp#hi73
An answer that says, "it can't be done, or it can be done, with some limitations", is an acceptable answer. If you would like to change the grade to an A, please post here, and I can have moderator change it for you.
Thanks for accepting my answer as assisting in your question, but why the B grade?
Please see more about grading here:
https://www.experts-exchange.com/Web/Web_Languages/CSS/help.jsp#hi73
An answer that says, "it can't be done, or it can be done, with some limitations", is an acceptable answer. If you would like to change the grade to an A, please post here, and I can have moderator change it for you.
thanks for clearing that up netminder
Thanks Netminder
And it can't be done reliably using anything else. There might be unreliable javascript solutions out there.
Why do you want to do this? It sounds very annoying.