Dans la plupart des navigateurs, ce qui peut être réalisé à l'aide de CSS:
*.unselectable {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
/*
Introduced in IE 10.
See http://ie.microsoft.com/testdrive/HTML5/msUserSelect/
*/
-ms-user-select: none;
user-select: none;
}
Pour IE < 10 et Opera, vous aurez besoin d'utiliser l' unselectable
attribut de l'élément que vous souhaitez être ne peut pas être sélectionnée. Vous pouvez le régler à l'aide d'un attribut dans le HTML:
<div id="foo" unselectable="on" class="unselectable">...</div>
Malheureusement, cette propriété n'est pas héréditaire, ce qui signifie que vous devez mettre un attribut dans la balise de début de chaque élément à l'intérieur de l' <div>
. Si c'est un problème, vous pouvez utiliser JavaScript pour faire cela de façon récursive pour un élément descendants:
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"));