您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

有没有办法使HTML页面上的文本无法选择?

有没有办法使HTML页面上的文本无法选择?

在大多数浏览器中,可以使用CSS来实现:@H_502_1@

*.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 <10和Opera,您将需要使用unselectable希望不可选择的元素的属性。您可以使用HTML中的属性进行设置:@H_502_1@

<div id="foo" unselectable="on" class="unselectable">...</div>

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

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"));
其他 2022/1/1 18:16:09 有495人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶