我在HTML页面上有一个div,每当我按下鼠标并移动它时,它会显示“不能放下”光标,就像它选择了某些内容一样。有没有办法禁用选择?我尝试了CSS用户选择,但没有成功。

最佳答案

user-select的专有变体将在大多数现代浏览器中运行:

*.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;
}

对于IE unselectable属性。您可以使用HTML中的属性进行设置:
<div id="foo" unselectable="on" class="unselectable">...</div>

遗憾的是,该属性没有被继承,这意味着您必须在<div>内每个元素的开始标记中放置一个属性。如果这是一个问题,则可以改用JavaScript为元素的后代递归执行此操作:
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"));

07-28 07:28