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 相关文章推荐
动态调用CSS文件的JS代码
Jul 29 Javascript
jquery的键盘事件修改代码
Feb 24 Javascript
JavaScript 动态加载脚本和样式的方法
Apr 13 Javascript
javaScript给元素添加多个class的简单实现
Jul 20 Javascript
Javascript中级语法快速入手
Jul 30 Javascript
chosen实现省市区三级联动
Aug 16 Javascript
如何实现一个webpack模块解析器
Oct 24 Javascript
JS跨域请求的问题解析
Dec 03 Javascript
jQuery操作cookie的示例代码
Jun 05 jQuery
js使用文件流下载csv文件的实现方法
Jul 15 Javascript
VsCode与Node.js知识点详解
Sep 05 Javascript
基于vue-cli3和element实现登陆页面
Nov 13 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
JavaScript 图像动画的小demo
2012/05/23 Javascript
JS操作图片(增,删,改) 例子
2013/04/17 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
python将图片文件转换成base64编码的方法
2015/03/14 Python
python购物车程序简单代码
2018/04/18 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
python实现滑雪者小游戏
2020/02/22 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
虚拟机下载python是否需要联网
2020/07/27 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
Agoda香港:全球特价酒店预订
2017/05/07 全球购物
违反学校规定检讨书
2014/01/18 职场文书
房地产开盘策划方案
2014/02/10 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
公司酒会主持词
2015/07/02 职场文书
重阳节简报
2015/07/20 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL
python实现股票历史数据可视化分析案例
2021/06/10 Python
MySql数据库 查询时间序列间隔
2022/05/11 MySQL