event.currentTarget和document.activeElement

2008-10-02 10:11:59 北京时间

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 firefox opera都提供了这个对象的支持。但是有点需要注意的,上面的例子中 opera 会把图片作为 可以 focus的对象。导致document.activeElement的结果不一致...




最新图文资讯

发表评论

请文明参与讨论,禁止漫骂攻击。本站保留不刊登无关和不雅评论的权力。


用户名: 密码: 匿名

相关新闻
重置默认样式 最近看到一个词叫css reset。什么叫做css reset呢
我们在做表单的情况下,input、textarea、button的样式比较容易
层的定位是很多人比较困扰的问题,点击弹出层会随着分辨率的改变
?php wp_list_cats(sort_column=nameoptioncount=1feed=RSS); ?
在Web应用中有很多数据、图表的表现方式,尤其在一些数据统计应

广告
© 2008 The Czz5 Company. All Rights Reserved. 关于我们 - 联系我们 - 广告业务 - 网站地图 - 版权声明 - 友情连接 - 网站投稿 - 致信编辑