深入浅出Ajax(四)

时间:2023-03-09 18:08:54
深入浅出Ajax(四)

function initPage()

{

btn.onmouseover = buttonOver;

btn.onmouseover = buttonOut;

}

如上,浏览器只会运行指定的最后一个事件处理程序。因为事件处理程序只是属性,一个属性只能有一个值。

用addEventListener()指定多个事件处理程序。

btn.addEventListener(“mouseover”, buttonOver,false);

btn.addEventListener(“mouseover”, buttonOver1,false);

注意:事件属性名与addEventListener()的事件名不一样,如果事件属性名为onclick或onmouseover,对addEventListener()而言则是click和mouseover。

不过addEventListener()对IE浏览器不起作用,IE用了一个完全不同的事件模型,attachEvent()。

btn.addEventListener(“onmouseover”, buttonOvere);//这一次事件名前要保留on.

btn.addEventListener(“onmouseover”, buttonOver1);//只有2个参数。

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
window.onload = initPage; function initPage()
{
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++)
{
var tt = inputs[i];
// tt.addEventListener("blur", showValue, false);
// tt.addEventListener("change", change, false);
addEventHandler(tt, "blur", showValue);
addEventHandler(tt, "change", change);
}
} function change()
{
alert("changed!");
} function showValue()
{
switch (this.title)//this指的是调用当前函数的对象,本处即失去焦点的文本框。
{
case "name":
alert(this.value);
break;
default:
alert("pwd");
}
} // 增加一个工具函数,用于IE或其他浏览器时,多事件程序判断。
//对象,事件名,处理函数
function addEventHandler(obj, eventName, handler)
{
if (document.attachEvent)
{
obj.attachEvent("on" + eventName, handler);
}
else if (document.addEventListener)
{
obj.addEventHandler(eventName, handler, false);
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="txt">
<input type="text" id="username" title="name" />
<input type="text" id="password" title="pwd" />
</div>
</form>
</body>
</html>