急求禁止鼠标右键的CSS代码!!,(只能用CSS代码,)

发布网友

我来回答

2个回答

懂视网

这篇文章介绍的是通过纯CSS实现禁止鼠标点击事件,比起Javascript来更加灵活,有需要的可以参考学习。

JavaScript有一个preventDefault方法, 他可用以来取消事件的默认动作。比如取消打开链接,选择文本或拖放等。

event.preventDefault()

该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 “submit”,在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。无论哪种情况,调用该方法都没有作用。

这种方法可以阻止当前元素的浏览器默认行为,但并不阻止事件被父级及document响应。如果想彻底取消事件,则可使用stopPropagation

event.stopPropagation()

该方法将停止事件的传播,阻止它被分派到其他 Document 节点。在事件传播的任何阶段都可以调用它。注意,虽然该方法不能阻止同一个 Document 节点上的其他事件句柄被调用,但是它可以阻止把事件分派到其他节点。

这两种是在JS中的常用取消事件的方法,但是其实还有一种用纯css就能实现取消事件响应的方法,pointer-events,使用起来更加简单,它可以:

1、阻止用户的点击动作产生任何效果

2、阻止缺省鼠标指针的显示

3、阻止CSS里的hover和active状态的变化触发事件

4、阻止JavaScript点击动作触发的事件

比如以下CSS就顺起到将禁用的按钮灰掉的效果

.disabled {
 pointer-events: none;
 cursor: default;
 opacity: 0.6;
}

这种方法明显比js代码更加灵活,可惜ie9不支持。

热心网友

body{Windsor:expression(document.body.onselectstart=document.body.oncontextmenu=function(){return false;});}

关键参数:
expression--css与js的结合点

定义:
IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javascript表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段Javascript表达式,CSS属性的值等于Javascript表达式计算的结果。在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。

更多内容点击参考资料

参考资料:http://q.blog.sina.com.cn/blogfile.php?id=1000176220&fid=49ed225001000crb

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com