在讲如何为页面元素分配事件处理函数之前,先提一下事件。事件就是由用户或浏览器发起的特定行为,大家最常用的就是onblur(失去焦点)了。有了这些事件,javascript在web页面中就能大显身手了。下面我们就看看javascript是如何在web页面中大显身手的吧。
其实很简单,就是把javascript的function作为事件处理函数分配给页面元素就可以了。分配的话,有两种方式,一种是通过javascript编码,一种是直接将函数名作为元素标签事件属性的值。大家看一下下面的代码就一目了然了:
<html>
<head>
<title>event handler</title>
<script type="text/javascript">
function display(str){
alert(str);
}
function addevent(){
var obj = document.getElementById("addevent1");
obj.onblur = function (){display(obj.value)};
}
</script>
</head>
<body onload="addevent()">
<input type="text" name="addevent1" value="add event by javascript"/>
<p>
<input type="text" name="addevent2" value="add event by html tag" onblur="display(this.value);alert('test2');"/>
</body>
</html>
当我们使用第二种直接在 html 中分配事件处理函数的时候,事件属性的值(display(this.value);alert('test2');)是被封装到匿名函数中的,所以html代码实际上是执行javascript代码:
var obj = document.getElementById("addevent2");
obj.onblur=function(){
display(this.value);
alert('test2');
}