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 相关文章推荐
google 搜索框添加关键字实现代码
Apr 24 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
Jul 31 Javascript
JS动态修改iframe内嵌网页地址的方法
Apr 01 Javascript
js获取鼠标位置实例详解
Dec 09 Javascript
js判断主流浏览器类型和版本号的简单实现代码
May 26 Javascript
js利用clipboardData实现截屏粘贴功能
Oct 12 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
Jan 04 Javascript
Node.js利用debug模块打印出调试日志的方法
Apr 25 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
Mar 13 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
Sep 14 Javascript
浅谈Angular 观察者模式理解
Nov 01 Javascript
vue组件是如何解析及渲染的?
Jan 13 Vue.js
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学习 字符串课件
2008/06/15 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
基于jquery的关于动态创建DOM元素的问题
2010/12/24 Javascript
js检查页面上有无重复id的实现代码
2013/07/17 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
[05:40]DOTA2荣耀之路6:Wings最后进攻
2018/05/30 DOTA
python获取文件扩展名的方法
2015/07/06 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
婴儿鞋,独特的婴儿服装和配件:Zutano
2018/11/03 全球购物
Bata印度官网:源自欧洲舒适鞋履品牌
2020/01/30 全球购物
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
办公室文员自荐书
2014/02/03 职场文书
小学五年级学生评语
2014/04/22 职场文书
村级换届选举方案
2014/05/10 职场文书
单位授权委托书范文
2014/08/02 职场文书
2015年乡镇工会工作总结
2015/05/19 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
何玥事迹观后感
2015/06/16 职场文书
观后感开头
2015/06/19 职场文书
常住证明范本
2015/06/23 职场文书
python OpenCV学习笔记
2021/03/31 Python