JavaScript通过事件代理高亮显示表格行的方法


Posted in Javascript onMay 27, 2015

本文实例讲述了JavaScript通过事件代理高亮显示表格行的方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Highlight Rows</title>
<style type="text/css">
 table {
 background-color: lightgreen;
 }
 #third {
 background-color: yellow;
 }
</style>
</head>
<body>
<!-- Demonstrating "Event Delegation" to highlight table' rows 
 on mouseover. 
 Arguments can be passed via the delegate. 
My site:andrew.dx.am -->
<table id="thetable" summary="highlight demo">
 <tr><td>Just one</td><td>.. no another</td></tr>
 <tr><td>Second</td><td>.. no another</td></tr>
 <tr id="third"><td>A third</td><td>.. no another</td></tr>
 <tr><td>Fourth for luck</td><td>.. no another</td></tr>
</table>
<script type="text/javascript">
var addEvent = function (elem, eventType, func) {
 if ( elem.addEventListener )
 addEvent = function (elem, eventType, func) {
  elem.addEventListener(eventType, func, false);
 };
 else if ( elem.attachEvent )
 addEvent = function (elem, eventType, func) {
  elem.attachEvent('on' + eventType, func);
 };
 addEvent(elem, eventType, func);
};
var delegateEvent = function (elem, childElems, eventType, func, args) {
 addEvent(elem, eventType, function (e) {
 var evt = e || window.event;
 var elem = evt.target || evt.srcElement;
 if ( elem.nodeName.toLowerCase() == childElems.toLowerCase() ) {
  func(elem, args);
 }
 });
};
function highlightRows(obj, args) {
 if (args && args.over) {
 obj.prevColour = obj.parentNode.style.backgroundColor;
 obj.parentNode.style.backgroundColor = args.colour;
 if (args.index && obj.title == "")
  obj.title = "Row " + obj.parentNode.rowIndex;
 } else {
 obj.parentNode.style.backgroundColor = "";
 if (obj.title.indexOf("Row ") + 1)
  obj.title = "";
 }
}
function init() {
 delegateEvent(document.getElementById('thetable'), 'td', 'mouseover',
   highlightRows, {'colour': 'lightblue', 'over': true, 
   'index': true});
 delegateEvent(document.getElementById('thetable'), 'td', 'mouseout',
   highlightRows, {'over': false});
}
addEvent(window, 'load', init);
</script>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript分页代码(当前页码居中)
Sep 20 Javascript
JavaScript实现网页加载进度条代码超简单
Sep 21 Javascript
js面向对象的写法
Feb 19 Javascript
Bootstrap学习笔记之css样式设计(2)
Jun 07 Javascript
js时间比较 js计算时间差的简单实现方法
Aug 26 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
Sep 17 Javascript
浅谈JS使用[ ]来访问对象属性
Sep 21 Javascript
Angular学习笔记之angular的$filter服务浅析
Nov 12 Javascript
详解node字体压缩插件font-spider的用法
Sep 28 Javascript
vue本地打开build后生成的dist文件夹index.html问题
Sep 04 Javascript
原生js实现五子棋游戏
May 28 Javascript
基于vue 动态菜单 刷新空白问题的解决
Aug 06 Javascript
jquery预加载图片的方法
May 27 #Javascript
jQuery仿gmail实现fixed布局的方法
May 27 #Javascript
js实现键盘Enter键提交表单的方法
May 27 #Javascript
js实现简单锁屏功能实例
May 27 #Javascript
JS实现简单路由器功能的方法
May 27 #Javascript
JavaScript实现将UPC转换成ISBN的方法
May 26 #Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
May 26 #Javascript
You might like
PHP基于imap获取邮件实例
2014/11/11 PHP
帝国cms目录结构分享
2015/07/06 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
javascript的delete运算符知识点总结
2019/11/19 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
Python中subprocess的简单使用示例
2015/07/28 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
Python 登录网站详解及实例
2017/04/11 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
Python爬虫获取页面所有URL链接过程详解
2020/06/04 Python
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
音乐表演专业毕业生求职信
2013/10/14 职场文书
环境工程专业个人求职信
2013/12/05 职场文书
青年文明号事迹材料
2014/01/18 职场文书
护理专业学生职业生涯规划范文
2014/03/11 职场文书
廉洁校园实施方案
2014/05/25 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
工作作风建设心得体会
2014/10/22 职场文书
市场营销计划书
2015/01/17 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书
MySQL 外连接语法之 OUTER JOIN
2022/04/09 MySQL