⽤纯CSS实现禁⽌⿏标点击事件⽰例代码
JavaScript有⼀个preventDefault⽅法, 他可⽤以来取消事件的默认动作。⽐如取消打开链接,选择⽂本或拖放等。
复制代码
代码如下:
event.preventDefault()
该⽅法将通知 Web 浏览器不要执⾏与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 “submit”,在事件传播的任意阶段可以调⽤任意的事件句柄,通过调⽤该⽅法,可以阻⽌提交表单。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻⽌默认动作。⽆论哪种情况,调⽤该⽅法都没有作⽤。
这种⽅法可以阻⽌当前元素的浏览器默认⾏为,但并不阻⽌事件被⽗级及document响应。如果想彻底取消事件,则可使⽤stopPropagation
复制代码
代码如下:css鼠标点击样式
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不⽀持。以上就是本⽂的全部内容,希望对⼤家的学习和⼯作能有所帮助。