onselectstart与onselect—禁止选择或禁止复制

25 篇文章 0 订阅
17 篇文章 0 订阅

这两个事件看起来很相似,事实上却非常的不同。


1.onselectstart

  这个事件主要是用于禁止选择网页中的文字。代码为:

document.onselectstart =function(){
            return false;
        }

  另外ff/opera不支持此事件,ff可以用css控制:css: body { -moz-user-select: none; }。webkit浏览器可以使用“-khtml-user-select”,当然也可以使用onselectstart事件来阻止用户选定元素内文本。

  注意此事件不支持对input和textarea无效。

2.onselect

  此事件在选择textarea或input内的内容后触发。因此只有input和textarea标签支持。例如:

  

复制代码
<input type = 'text' id = 'input>
<script>
             var input = document.getElementById('input');
             input.onselect = function(){
                alert("被触发");
            }     
</script>    
复制代码

onselectstart

使用js禁止用户选中网页上的内容,IE及Chrome下的方法一样。
使用onselectstart,例如
IE:
<body onselectstart="return false">
Firefox:,控制css: body { -moz-user-select: none; }       

onselectstart几乎可以用于所有对象,其触发时间为目标对象被开始选中时(即选中动作刚开始,尚未实质性被选中)。该事件常使用

于使目标对象“禁止变蓝”,比如在很多地方当用户双击时,一些元素会变成蓝色(选中状态),而当我们要避免这种情况时就可以使用该事

件,使用示例如下:

  1. <div id="tmp" onselectstart="return false">flondon</div>  
或者

[javascript] view plain copy
  1. <div id="tmp">flondon</div>  
  2. <script type="text/javascript">  
  3.         document.getElementById("tmp").onselectstart = function(){return false;};  
  4. </script>  
或者

  1. <div id="tmp">flondon</div>  
  2. <script type="text/javascript">  
  3.         if(document.addEventListener)  
  4.         {  
  5.                 document.getElementById("tmp").addEventListener("selectstart", function(){return false;}, false);  
  6.         }  
  7.         else  
  8.         {  
  9.                 document.getElementById("tmp").attachEvent("onselectstart", function(){return false;});  
  10.         }  
  11. </script>  

注:
1、onselectstart事件不被input和textarea标签支持,而onselect事件只被input和textarea支持。
2、Firefox/Opera不支持onselectstart事件Firefox中可以使用CSS "-moz-user-select:none"属性来禁止文本选定
3、webkit浏览器可以使用“-khtml-user-select”,当然也可以使用onselectstart事件来阻止用户选定元素内文本,如下
<div onselectstart="return false">accc</div>

onselect

        onselect是在文本框(input、textarea)内的文本被选中时所触发的事件,其触发时间是在文本被选择以后(即文本已经被选择,已经

显式的表现出来)。该事件只被input和textarea标签支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值