`
zhouyrt
  • 浏览: 1159181 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

神奇的css属性pointer-events

阅读更多

 

绝对定位元素盖住链接或添加某事件handle的元素后,那么该链接的默认行为(页面跳转)或元素事件将不会被触发。

 

现在Firefox3.6+/Safari4+/Chrome支持一个称为pointer-events的css属性。使用该属性可以决定是否能穿透绝对定位元素去触发下面元素的某些行为。

 

如下:

 

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
<title>CSS:pointer-events</title>
<style type="text/css">
	.overlay1 {
		width:50px;
		height:30px;
		background:gold;
		position:absolute;
		top:5px;
		left:65px;
		opacity:0.5;
	}
	.overlay2 {
		width:100px;
		height:30px;
		background:gold;
		position:absolute;
		top:60px;
		left:25px;
		opacity:0.5;
	}
	.pointer{
		pointer-events:none;
	}
</style>
<script type="text/javascript">
	
window.onload = function(){
	document.getElementById('chx').onclick = function(){
		document.getElementById('a').className 
			= "overlay1 " + ((this.checked)? "pointer" : "");
		document.getElementById('b').className 
			= "overlay2 " + ((this.checked)? "pointer" : "");
	}
}
</script>	

</head>
<body>
	<div id="a" class="overlay1"></div>
	<div id="b" class="overlay2"></div>

	<a href="http://www.baidu.com">Baidu</a> <a href="http://www.baidu.com"">Baidu</a>
	<br/><br/><br/>	
	<span onclick="alert(3);">SPAN element</span>

	<p>
		<input id="chx" type="checkbox">
		<label for="chx">穿透点击</label>
	</p>

</body>
</html>

 

 

相关资源:

https://developer.mozilla.org/en/CSS/pointer-events

 

 

 

分享到:
评论
10 楼 zw61911169 2010-06-28  
汗。。。我用ie跑的。。。。
9 楼 leiliang 2010-06-27  
ie6不支持,所以直接抛弃,虽然是好东西,眼馋啊
8 楼 lianzerong 2010-06-25  
火狐也不支持啊! =。=
7 楼 jacki6 2010-06-25  
搞不清楚有啥意义 呵呵 了解下
6 楼 aws 2010-06-25  
IE的滤镜你们也不支持
5 楼 xingqiliudehuanghun 2010-06-25  
好东西啊,只可惜IE不支持
4 楼 ghyghoo8 2010-06-25  
这个牛X。受惊了~
3 楼 rainsilence 2010-06-24  
哇靠,楼主都研究到这种程度了
2 楼 crazy.j 2010-06-24  
真是不错~但是IE太愁人了啊!
最近让IE给我搞得头皮屑都出来了!
1 楼 lixinlixin2008 2010-06-23  
哇塞,这个属性超级的好

相关推荐

    CSS的pointer-events属性详细介绍(作用和注意事项)

    **CSS的pointer-events属性详解** 在现代Web开发中,CSS的功能越来越强大,有时甚至与JavaScript的功能界限变得模糊。`pointer-events`属性就是这样一个例子,它允许开发者通过CSS控制元素对鼠标交互的响应,从而...

    使用CSS的pointer-events属性实现鼠标穿透效果的神奇技巧

    当pointer-events的值设置为none之后,浏览器将不会获得鼠标在当前位置的层上的点击事件,而造成鼠标穿透的效果!下面就来为大家展开讲解一下使用CSS的pointer-events属性实现鼠标穿透效果的神奇技巧

    css中pointer-events属性详解

    在CSS中,`pointer-events`属性是一个非常实用的特性,它允许开发者控制元素对鼠标交互的响应。这个属性尤其在处理复杂布局或者需要隐藏元素但又不希望它们阻止其他元素的交互时非常有用。在本文中,我们将深入探讨`...

    css3pointer-event介绍.docx

    `pointer-events` 是一个 CSS3 属性,用于控制元素如何响应鼠标和其他指针设备的交互。这个属性在处理用户界面时特别有用,特别是在有多个重叠元素或者需要阻止某些元素响应鼠标事件的情况下。通过调整 `pointer-...

    css pointer-events属性实现下面元素可点击

    通过JavaScript监听`checkbox`的`onclick`事件,动态地添加或移除`pointer-events-none`类,从而切换`overlay`元素对鼠标事件的响应。 浏览器支持方面,Firefox 3.6+、Safari 4和Google Chrome已经支持`pointer-...

    css不常见属性之pointer-events的使用方法

    MDN 上介绍为 CSS 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件的 target。 pointer-events 属性值有: /* Keyword values */ pointer-events: auto; pointer-events: none; pointer-events: ...

    详解CSS pointer-events属性的使用

    CSS中的`pointer-events`属性是一个非常有用的工具,它允许开发者精确控制哪些图形元素可以成为鼠标事件的target。这个属性可以极大地方便前端开发者在制作各种交互元素时的复杂场景处理,尤其在处理弹层、遮罩层这...

    css3 pointer-events 介绍详解

    总而言之,pointer-events是CSS3中一个强大的属性,它不仅能够控制元素的交互性,还能避免不必要的事件触发,从而提升用户界面的友好性和网页的交互性能。在使用时应考虑其作用范围和兼容性,确保在不同的环境和场景...

    CSS利用pointer-events防止重复点击的方法实例

    CSS的`pointer-events`属性提供了一种更简洁的解决方案,可以直接从样式层面控制元素是否可以响应鼠标事件。`pointer-events`属性可以接受多个值,如`none`、`auto`等。当设置为`none`时,元素将不会捕获任何鼠标...

    css的pointer鼠标类型详解(支持IE,firefox,chrome)

    现在,利用css的pointer-events属性即可做到。 CSS pointer-events Pointer-events原本来源于SVG...如果你已经设置一个元素的css属性为pointer-events: none。它将不会捕获任何click事件,而是让事件穿过该元素到达下面

    css3pointerevent介绍共2页.pdf.zip

    在网页开发中,交互性是至关重要的,而CSS3 Pointer Events属性正是提升用户交互体验的重要工具。这个属性允许开发者控制元素如何响应鼠标、触摸甚至是笔触等输入设备的事件。了解并熟练运用Pointer Events,可以...

    对vue中的事件穿透与禁止穿透实例详解

    总结来说,Vue.js的事件修饰符和JavaScript的`event.stopPropagation()`提供了阻止事件冒泡的机制,而CSS的`pointer-events`属性则允许我们控制元素是否响应鼠标事件,从而避免事件穿透问题。在实际开发中,根据具体...

    下拉框设置为只读模式时不再弹出下拉框

    在CSS中,我们可以使用`pointer-events`属性来阻止鼠标事件。将`pointer-events`设置为`none`,可以使得元素对鼠标点击无响应,这样下拉框就不会弹出: ```css select[readonly] { pointer-events: none; } ``` ...

Global site tag (gtag.js) - Google Analytics