zoukankan      html  css  js  c++  java
  • 禁止鼠标多次点击选中div中的文字

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Firefox/Opera不支持onselectstart事件</title>
    </head>
    <body>
    <div id="d1" style="200px;height:200px;background:gold;">
    Text Text
    </div>
    <script type="text/javascript">
    var div = document.getElementById('d1');
    div.onselectstart = function() {
    console.log(3);
    }
    </script>
    </body>
    </html>

     

    当用鼠标去选定div内的文本时,IE/Safari/Chrome 的控制台输出了3,Firefox/Opera则没有输出。

     

    1 IE可以使用onselectstart事件来阻止用户选定元素内文本,如下

    <div onselectstart="return false">accc</div>

     

    2 Firefox中可以使用CSS "-moz-user-select:none"属性来禁止文本选定

    3 webkit浏览器可以使用“-khtml-user-select”,当然也可以使用方式1


    可惜所有浏览器都未实现,如FF4/Safar5/Chrome11/Opera10/IE10。

    这是通过CSS样式来实现的禁止用鼠标选择功能:unselectable为IE准备,onselectstart为Chrome、Safari准备,-moz-user-select是FF的 
    css style:html,body{-moz-user-select: none; -khtml-user-select: none; user-select: none;}

    <div unselectable="on" onselectstart="return false;" style="-moz-user-select:none;"> 
    屏蔽选择的样式定义:-moz-user-select属性(只支持ff)。 
    属性有三个属性值: 
    1、 none:用none,子元素所有的文字都不能选择,包括input输入框中的文字也不能选择。 
    2、 -moz-all:子元素所有的文字都可以被选择,但是input输入框中的文字不可以被选择。 
    3、 -moz-none:子元素所有的文字都不能选择,但是input输入框中的文字除外。

  • 相关阅读:
    laravel安装
    redis缓存设置和读取
    window下装redis扩展(以php5.5为例)
    静态缓存
    原生js发送ajax请求
    数据库查询语句面试
    Cookie与Session
    面试题-一个for循环输出一个棱形
    编程题:利用for循环打印 9*9 表?
    java面试题之分析(二)
  • 原文地址:https://www.cnblogs.com/yingwo/p/4520526.html
Copyright © 2011-2022 走看看