Zastrzeżone odmiany user-select
będą działać w większości nowoczesnych przeglądarek:
*.unselectable {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}
W przypadku IE <10 i Opery będziesz musiał użyć unselectable
atrybutu elementu, którego nie można wybrać. Możesz to ustawić za pomocą atrybutu w HTML:
<div id="foo" unselectable="on" class="unselectable">...</div>
Niestety ta właściwość nie jest dziedziczona, co oznacza, że musisz umieścić atrybut w tagu początkowym każdego elementu wewnątrz <div>
. Jeśli jest to problem, możesz zamiast tego użyć JavaScript, aby zrobić to rekurencyjnie dla elementów podrzędnych elementu:
function makeUnselectable(node) {
if (node.nodeType == 1) {
node.setAttribute("unselectable", "on");
}
var child = node.firstChild;
while (child) {
makeUnselectable(child);
child = child.nextSibling;
}
}
makeUnselectable(document.getElementById("foo"));