首先看下面第一个代码:
<html >
<head>
<title> New Document </title>
 
</head>
<body >
 <div style="width:200px;height:200px;background-color:#999999;overflow:auto;" id="wai" onscroll="zxy()"> 
<div style="width:100px;height:300px;background-color:#FFFF00;" id="nei"> 
这些文字显示在内层元素中。 
</div> 
</div> 
<p>scrollTop值是:<span id="zhi"></span></p> 
<button id="bt"  >submit</button>
<button id="btt"  >submit</button>
<script type="text/javascript"> 
//document.getElementById('wai').addEventListener("onscroll",zxy);
document.getElementById('wai').onscroll=xyz;
function zxy()
{
document.getElementById('zhi').innerHTML = document.getElementById('wai').scrollTop;
}
function  hello(){
alert("click me");
}
document.getElementById("bt").onclick= hello;
document.getElementById("btt").onmouseover= hello;
</script> 
</body>
</html>
这个时候您点击button是没有反应的,
但是稍微修改如下:
document.getElementById('wai').addEventListener("onscroll",zxy);
//document.getElementById('wai').onscroll=xyz;
这个时候又是有反应的,求大家解释一下为什么??

解决方案 »

  1.   

    document.getElementById('wai').onscroll=zxy;你确定不是你写错的原因?
      

  2.   

    document.getElementById('wai').addEventListener("scroll",zxy,false); // 非IE
    document.getElementById('wai').attachEvent("onscroll", zxy); // IE onlydocument.getElementById('wai').onscroll=zxy; // 兼容所有浏览器,但同一个元素的同一个事件只能绑定一个处理函数
      

  3.   

    addEventListener事件的事件名称不要加on
      

  4.   

    document.getElementById('wai').onscroll=function ()
    {
    document.getElementById('zhi').innerHTML = document.getElementById('wai').scrollTop;
    };