javascript 移动鼠标得到单元格所在table表中的rowIndex位置[兼容ie,firefox] <font color=red>原创</font>

时间:2024-04-18 09:50:31 

从cnblogs看到的代码,作者的代码随便不兼容firefox但,有助于大家学习为什么下面的代码兼容了firefox,大家可以对比下,有助于学习,对于更多的文章可以参考脚本之家以前发布的文章。

<html> <head> <script language="javascript"> function mouseover(){ var ObjTd=window.event.srcElement; var ObjTr=ObjTd.parentElement; var y=ObjTr.rowIndex; var x=ObjTd.cellIndex; alert(x+" "+y); } </script> </head> <body> <table width="200" border="1"> <tr> <td onclick="mouseover()">&amp;nbsp;</td> <td onclick="mouseover()">&amp;nbsp;</td> <td onclick="mouseover()">&amp;nbsp;</td> </tr> <tr> <td onclick="mouseover()">&amp;nbsp;</td> <td onclick="mouseover()">&amp;nbsp;</td> <td onclick="mouseover()">&amp;nbsp;</td> </tr> <tr> <td onclick="mouseover()">&amp;nbsp;</td> <td onclick="mouseover()">&amp;nbsp;</td> <td onclick="mouseover()">&amp;nbsp;</td> </tr> </table> </body> </html>



下面的代码是脚本之家修改的兼容firefox的代码

<html> <head> <script language="javascript"> 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); } </script> </head> <body> <table width="200" border="1"> <tr> <td onclick="mouseover(arguments[0])">&amp;nbsp;</td> <td onclick="mouseover(arguments[0])">&amp;nbsp;</td> <td onclick="mouseover(arguments[0])">&amp;nbsp;</td> </tr> <tr> <td onclick="mouseover(arguments[0])">&amp;nbsp;</td> <td onclick="mouseover(arguments[0])">&amp;nbsp;</td> <td onclick="mouseover(arguments[0])">&amp;nbsp;</td> </tr> <tr> <td onclick="mouseover(arguments[0])">&amp;nbsp;</td> <td onclick="mouseover(arguments[0])">&amp;nbsp;</td> <td onclick="mouseover(arguments[0])">&amp;nbsp;</td> </tr> </table> </body> </html>



主要区别如下:
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标准看齐哦

标签:javascript,table,rowIndex
0
投稿

猜你喜欢

  • Oracle 正则表达式实例详解

    2024-01-25 23:43:01
  • python读取与处理netcdf数据方式

    2021-11-09 02:45:01
  • NCCL深度学习Bootstrap网络连接建立源码解析

    2022-02-25 22:28:10
  • 教程:mysql申明变量以及赋值

    2009-10-26 10:31:00
  • python实现爬虫统计学校BBS男女比例(一)

    2023-06-24 17:48:28
  • Go位集合相关操作bitset库安装使用

    2024-05-09 14:57:22
  • 在IE浏览器下面指定表单编码方式

    2009-10-02 16:47:00
  • 简述MySQL 正则表达式

    2024-01-16 12:17:44
  • 一文带你了解Go语言中的单元测试

    2024-04-28 09:11:28
  • python中用shutil.move移动文件或目录的方法实例

    2021-01-03 07:35:06
  • vue中使用props传值的方法

    2024-05-03 15:10:50
  • PyTorch和Keras计算模型参数的例子

    2023-04-16 10:32:46
  • Python数据可视化之Pyecharts使用详解

    2022-10-19 17:31:12
  • TensorFlow绘制loss/accuracy曲线的实例

    2022-01-25 08:01:16
  • 如何用Python将图片转为字符画

    2022-06-15 09:26:06
  • Python 实现使用空值进行赋值 None

    2021-04-12 07:01:09
  • 微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解

    2023-11-18 19:09:27
  • 安装Oracle加载数据库错误areasQueries的解决

    2010-07-27 13:02:00
  • python各种语言间时间的转化实现代码

    2022-06-27 14:54:28
  • 解决python nohup linux 后台运行输出的问题

    2022-03-25 06:40:11
  • asp之家 网络编程 m.aspxhome.com