javascript 移动鼠标得到单元格所在table表中的rowIndex位置[兼容ie,firefox] 原创
发布网友
发布时间:2022-07-07 03:26
我来回答
共1个回答
热心网友
时间:2023-10-09 06:27
从cnblogs看到的代码,作者的代码随便不兼容firefox但,有助于大家学习为什么下面的代码兼容了firefox,大家可以对比下,有助于学习,对于更多的文章可以参考脚本之家以前发布的文章。
function
mouseover(){
var
ObjTd=window.event.srcElement;
var
ObjTr=ObjTd.parentElement;
var
y=ObjTr.rowIndex;
var
x=ObjTd.cellIndex;
alert(x+"
"+y);
}
[Ctrl+A
全选
注:如需引入外部Js需刷新才能执行]
下面的代码是脚本之家修改的兼容firefox的代码
function
mouseover(e){
e=window.event?window.event:e;
var
ObjTd=e.srcElement?e.srcElement:e.target;
var
ObjTr=ObjTd.parentNode;
var
y=ObjTr.rowIndex;
var
x=ObjTd.cellIndex;
alert(x+"
"+y);
}
[Ctrl+A
全选
注:如需引入外部Js需刷新才能执行]
主要区别如下:
1.事件e.srcElement与e.target
经常有人问
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.
2.parentNode与parentElement的区别
使用parentElement时在FF下无效,搜索一下才知道parentElement它是IE专用的,IE多年的霸主地位造成现在不少应用中无法与其他浏览器兼容的问题,标准化真的很重要,呵呵,一定要向Web标准看齐哦