<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="description" content=event.html"">
<meta name="keywords" content="event,html,js">
<title>javascript的程序开发之事件处理</title>
<script type="text/javascript" src="event2.js"></script>
</head>
<body>
<div id="infoTab">
<table border="1" cellPadding="5" cellspacing="0" background-color="F2F2F2" width="50%">
<tr id="infoTr">
<td>姓名</td>
<td>年龄</td>
<td>学历</td>
</tr>
<tr id="infoTr">
<td>张三</td>
<td>20</td>
<td>小学</td>
</tr>
<tr id="infoTr">
<td>李四</td>
<td>21</td>
<td>初中</td>
</tr>
<tr id="infoTr">
<td>王五</td>
<td>22</td>
<td>高中</td>
</tr>
<tr id="infoTr">
<td>赵六</td>
<td>23</td>
<td>大学</td>
</tr>
</table>
</div>
</body>
</html>
function changeColor(obj, color) {
if (obj != undefined) {
obj.style.backgroundColor = color;
};
}
function changefont(obj, size) {
if (obj != undefined) {
obj.style.fontSize = size;
}
}
window.onload = function () { //动态的绑定事件
//取出tr元素对象数组
var trObj = document.all('infoTr');
//给所有的tr绑定事件,通过id取出的是一个对象数组
for (var i = 0; i < trObj.length; i++) {
//绑定鼠标进入事件
trObj[i].addEventListener('mouseover', function () {
changeColor(this, 'red');
changefont(this, "25px");
}, false);
//绑定鼠标离开事件
trObj[i].addEventListener('mouseout', function () {
changeColor(this, '#F2F2F2');
changefont(this, "15px");
}, false);
};
}
上述代码中,changefont 和 changeColor 就是根据 js 对象修改属性的代码。
拓展
(1)window.onload
等待页面全部加载完毕(包括图片)之后再执行其绑定的事件处理函数。
window 是一个 BOM 中的对象,BOM 是一个控制浏览器行为的 API 。
(2)document.all
其返回一个数组,该数组中包含页面内所有元素。
形参传入 id 时,返回的数组仅仅包含具有相同 id 的对象。
(3)addEventListener
向指定的元素中添加要监听的事件并处理之。
(SAW:Game Over!)