点评:今天无意中注意到QQ、Hi的密码输入框不能用鼠标选择后一次性删除,只能一个一个的删除,然后,就想js中怎么实现这种效果。 上网一找,还不少,但是我测试了很多, 发现并不完美,还是浏览器在作怪,一种方式似乎只能满足一种浏览器 onselectstart="return false;",能够满足IE下的效果,当只针对某一个区域的时候,就把该段语句放在某一个区域中。比如:<div onselectstart="return false;" >********</div>;假如 需要把整个文档都设定不能选择,就直接在body中设定onselectstart="return false;"或者是在Javascript中使用:document.onselectstart=function(){return false;} style="-moz-user-select:none;",能够满足firefox下的效果,由于onselectstart="return false;"不能在firefox中产生希望的效果,所 以只能用css的方式来实现。当然和前面一样,当需要整个文档都达到这样的效果时,直接把body的样式设置为:-moz-user-select:none;。 最后我不得不说一下google的chrome浏览器,当在input中使用这 两种方式的时候,都不能达到鼠标不能选择的效果,我至今没找到好的办法来解决 这个 是兼容大部分浏览器的测试代码: 屏蔽选择的样式定义:-moz-user-select属性(只支持ff)。 属性有三个属性值: 1、 none:用none,子元素所有的文字都不能选择,包括input输入框中的文字也不能选择。 2、 -moz-all:子元素所有的文字都可以被选择,但是input输入框中的文字不可以被选择。 3、 -moz-none:子元素所有的文字都不能选择,但是input输入框中的文字除外。 IE浏览器下是通过 onselectstart=”javascript:return false;”事件来实现该功能。 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www./1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>测试</title> </head> <body> <div onselectstart="return false;" style="-moz-user-select:none;" >你选不了我</div> </body> </html> 详细出处参考:http://www.jb51.net/css/34830.html |
|
来自: woshishenxian... > 《css》