网页制作 
首页 > 网页制作 > 浏览文章

用纯CSS实现禁止鼠标点击事件示例代码

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

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不支持。以上就是本文的全部内容,希望对大家的学习和工作能有所帮助。

上一篇:利用CSS3实现的文字定时向上滚动
下一篇:CSS3绘制六边形的简单实现
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。