event.currentTarget和document.activeElement用法
所属分类:
网页制作 / CSS
阅读数:
1574
收藏 0赞 0分享
firefox 的 event.currentTarget 和 ie 的 document.activeElement 这两个完全含义不一致的对象却被捆绑在一起做成了浏览器兼容代码。 大家在google搜索的时候 都会发现 document.activeElement || event.currentTarget 的用法。
其实这样的用法是错误的,因为这两个属性的意义都不一样。
event.currentTarget
Identifies the current target for the event, as the event traverses the DOM.
识别当前事件触发的dom
document.activeElement
Gets the object that has the focus when the parent document has focus.
获得当前focus的对象
例子
<script type="text/javascript">
var show = function (e) {
alert(e.currentTarget?"获取到了 currentTarget":"获取到了 document.activeElement")
alert((e.currentTarget || document.activeElement).tagName);
};
</script><BR> 案例1: <br/><BR> <a href="#"><img src="http://www.google.cn/images/nav_logo3.png" border="0" alt="" onclick="show(event)"/></a> <br/> <br/><BR> 案例2: <br/><BR> <a href="#" onclick="show(event)"><img src="http://www.google.cn/images/nav_logo3.png" border="0" alt=""/></a> <br/><P></P>
<P> 这两个案例,在ie和firefox下试验一下。</P>
最后测试补充:后来测试了一下 document.activeElement 的支持程度,发现四大浏览器safari除外, ie firefoxopera都提供了这个对象的支持。但是有点需要注意的,上面的例子中 opera 会把图片作为 可以 focus的对象。导致document.activeElement的结果不一致...
js 解决隐藏与显示div的相关问题
我的导航中就有一栏产品中心下面用隐藏个div然后鼠标放上去就显示出来,但是导航那一块div一直出不来,什么都没有,很是郁闷不知道是什么原因
收藏 0赞 0分享
ie10 css hack 条件注释等兼容方式整理
ie10已经上线一段时间了,相信已经有一部分前端潮人体验过了,截至到现在,在ie6到ie9的浏览器各种各样的古怪行为,开发人员不得不使用条件注释,有条件的类,和其他特定于IE的css hack来解决
收藏 0赞 0分享
IE6双倍边距 IE6浏览器会出现双倍边距解决方法
所谓的IE6双倍边距就是指当元素有float属性,又有margin属性时,在IE6下面显示的margin的值是设置值的两倍,这个问题从有css技术时就已经诞生,本文将介绍详细解决方法,需要的朋友可以参考下
收藏 0赞 0分享
css 网页背景图片 怎样用CSS实现大背景网页效果
在网页设计制作中经常会遇到这样的问题:用图片做背景时,由于显示器分辨率太大或者图片尺寸太小,在页面的两边或者下部了没有背景图片,使页面变的很僵硬,于是搜集整理一些,晒出来和大家分享
收藏 0赞 0分享
查看更多