在IE下,event对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性.。

解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.。同时注意event的 兼容性问题。

感觉这个挺好,可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称。

注意获取的标记都以大写表示,如"TD","TR","A"等。所以把看过的一些抄下来,不记得的时候再来看看。

<script type="text/javascript">

function tdclick(){

if(event.srcElement.tagName.toLowerCase()=='td')

alert("行:"+(event.srcElement.parentNode.rowIndex+1)+"列:"+(event.srcElement.cellIndex+1));

}

</script>

event.srcElement从字面上可以看出来有以下关键字:事件,源     他的意思就是:当前事件的源,

我们可以调用他的各种属性 就像:document.getElementById("")这样的功能,

经常有人问 firefox 下的 event.srcElement 怎么用,在此详细说明:

IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即:

firefox 下的 event.target = IE 下的 event.srcElement

解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象在ie中,事件对象是全局的,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过!

function myfunc()

{

var evt=getEvent();

var element=evt.srcElement || evt.target;

}

function getEvent()

{

if(document.all)

{

return window.event;//如果是ie

}

func=getEvent.caller;

while(func!=null)

{

var arg0=func.arguments[0];

if(arg0)

{

if((arg0.constructor==Event || arg0.constructor ==MouseEvent)

||(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))

{

return arg0;

}

}

func=func.caller;

}

return null;

}

最新文章

  1. .net项目中上传的图片或者文件太大 无法上传
  2. TCP/IP之大明内阁---协议的制定
  3. Hadoop 2.0命令手册
  4. Apache Struts2 s2-020补丁安全绕过漏洞
  5. linux教程之四
  6. POJ3259负环判定
  7. 如何在自己的网页上插入一个超链接,发起临时qq会话
  8. flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台(总结感悟篇)
  9. SpringCloud的Hystrix(一) 一个消费者内的两个服务监控
  10. MySql中的varchar长度究竟是字节还是字符
  11. VS注释快捷键
  12. ef 仓储模式 Redis
  13. js评价五星
  14. linux mysql 统一字符编码
  15. 练习:自己写一个容器ArrayList集合 一一数组综合练习
  16. VMware虚拟机 安装centos7并设置静态ip 连接外网
  17. python笔记26-命令行传参sys.argv实际运用
  18. MSSQL-SQL SERVER 2008安装教程
  19. centos 配置mysql
  20. 20181016-4 Alpha阶段第1周/共2周 Scrum立会报告+燃尽图 03

热门文章

  1. 如何将js字符串变成首字母大写其余小写
  2. React Native开发之expo中camera的基本使用
  3. Thinkphp5 对接百度云对象存储 BOS (上传、删除)
  4. (数据科学学习手札46)Scala中的面向对象
  5. 利用Python Counter快速计算出现次数topN的元素
  6. day 3 创建窗口,移动-函数版
  7. Flume直接对接SaprkStreaming的两种方式
  8. Redis系列四 Redis常见配置
  9. 必读的 Android 文章
  10. 在Win10中通过命令行打开UWP应用