zoukankan
html css js c++ java
表格行高亮显示实现为一个 js 类
<
HTML
>
<
HEAD
>
<
TITLE
></
TITLE
>
<
script language
=
"
javascript
"
>
//
/////////////////////////////////////////////////////////////////////////////
//
//
功能:这个类使得被附加的表格可以支持行点击高亮
//
参数:
//
tbl: 要附加样式的 table.
//
selectedRowIndex: 初始高亮的行的索引(从 0 开始). 此参数可省。
//
hilightColor: 高亮颜色。可省(默认为绿色)
//
//
Author: Neil Chen
//
Date: 2005-09-05
//
//
/////////////////////////////////////////////////////////////////////////////
function
TableRowHilighter(tbl, selectedRowIndex, hilightColor) {
this
.currentRow
=
null
;
this
.hilightColor
=
hilightColor
?
hilightColor : 'green';
if
(selectedRowIndex
!=
null
&&
selectedRowIndex
>=
0
&&
selectedRowIndex
<
tbl.rows.length)
{
this
.currentRow
=
tbl.rows[selectedRowIndex];
tbl.rows[selectedRowIndex].runtimeStyle.backgroundColor
=
this
.hilightColor;
}
var
_this
=
this
;
tbl.attachEvent(
"
onclick
"
, table_onclick);
function
table_onclick() {
var
e
=
event.srcElement;
if
(e.tagName
==
'TD')
e
=
e.parentElement;
if
(e.tagName
!=
'TR')
return
;
if
(e
==
_this.currentRow)
return
;
if
(_this.currentRow)
_this.currentRow.runtimeStyle.backgroundColor
=
'';
e.runtimeStyle.backgroundColor
=
_this.hilightColor;
_this.currentRow
=
e;
}
}
</
script
>
</
HEAD
>
<
BODY
>
<
table id
=
"
table1
"
border
=
"
1
"
cellspacing
=
"
0
"
cellpadding
=
"
5
"
>
<
tr
>
<
td onclick
=
"
alert('a');
"
>
a
</
td
>
<
td
>
b
</
td
>
<
td
>
c
</
td
>
</
tr
>
<
tr
>
<
td
>
d
</
td
>
<
td
>
e
</
td
>
<
td
>
f
</
td
>
</
tr
>
<
tr
>
<
td
>
g
</
td
>
<
td
>
h
</
td
>
<
td
>
i
</
td
>
</
tr
>
</
table
>
<
br
>
<
table id
=
"
table2
"
border
=
"
1
"
cellspacing
=
"
0
"
cellpadding
=
"
5
"
>
<
tr
>
<
td
>
a
</
td
>
<
td
>
b
</
td
>
<
td
>
c
</
td
>
</
tr
>
<
tr
>
<
td
>
d
</
td
>
<
td
>
e
</
td
>
<
td
>
f
</
td
>
</
tr
>
<
tr
>
<
td
>
g
</
td
>
<
td
>
h
</
td
>
<
td
>
i
</
td
>
</
tr
>
</
table
>
<
br
>
<
table id
=
"
table3
"
border
=
"
1
"
cellspacing
=
"
0
"
cellpadding
=
"
5
"
>
<
tr
>
<
td
>
a
</
td
>
<
td
>
b
</
td
>
<
td
>
c
</
td
>
</
tr
>
<
tr
>
<
td
>
d
</
td
>
<
td
>
e
</
td
>
<
td
>
f
</
td
>
</
tr
>
<
tr
>
<
td
>
g
</
td
>
<
td
>
h
</
td
>
<
td
>
i
</
td
>
</
tr
>
</
table
>
</
BODY
>
<
script
>
//
调用范例
var
hilighter1
=
new
TableRowHilighter(document.getElementById('table1'),
1
, 'yellow');
var
hilighter2
=
new
TableRowHilighter(document.getElementById('table2'),
0
, 'lightsteelblue');
var
hilighter3
=
new
TableRowHilighter(document.getElementById('table3'),
2
);
</
script
>
</
HTML
>
其中行点击的事件处理用的是 attachEvent 方法,因此不支持 IE 5.5 以下的浏览器,以及非 IE 浏览器。但有一个好处就是该高亮功能不影响 HTML 元素中原有的 onclick 事件处理逻辑。
查看全文
相关阅读:
动态规划之 0-1背包问题及改进
动态规划之矩阵连乘
python3 入门 (四) 类与继承
动态规划之最长公共子序列(LCS)
java并发包分析之———AQS框架
java并发包分析之———BlockingQueue
java并发包分析之———Deque和LinkedBlockingDeque
java并发包分析之———concurrentHashMap
java并发包分析之———ConcurrentSkipListMap
java并发包分析之———Atomic类型
原文地址:https://www.cnblogs.com/RChen/p/230567.html
最新文章
二进制安装kubernetes集群
1.etcd
2.etcd集群的安装(cfssl版)
2.openshift授权策略和scc理解
pillow基本使用及验证码生成
虚拟环境2
虚拟环境1
__dict__用法-json使用
js字符串之间的比较运算和加减乘除运算
js实现页面跳转,和获取当前页面地址
热门文章
e.target resize()
each()和offset()函数使用, e.target使用
redis基础
mysql基础
sql server T-SQL 基础
sql server 2008 数据库的完整性约束
sql server 2008 操作数据表
递归与分治之快速排序
贪心算法之背包问题
sql server 2008 基础知识
Copyright © 2011-2022 走看看