<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>1</title>
<meta http-equiv="imagetoolbar" content="no">
</head>
<script type="text/javascript">
function addEvent( obj, type, fn ) { 
   if ( obj.attachEvent ) { 
     obj['e'+type+fn] = fn; 
     obj[type+fn] = function(){obj['e'+type+fn]( window.event );} 
     obj.attachEvent( 'on'+type, obj[type+fn] ); 
   } else 
     obj.addEventListener( type, fn, false ); 

function removeEvent( obj, type, fn ) { 
   if ( obj.detachEvent ) { 
     obj.detachEvent( 'on'+type, obj[type+fn] ); 
     obj[type+fn] = null; 
   } else 
     obj.removeEventListener( type, fn, false ); 
}addEvent(document.getElementById('aa'), 'click', function(){ alert('hello!'); } );
</script>
<body>
<div id="aa">fsad</div>
</body>
</html>上面的代码怎么老是提示"缺少对象"

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>1</title>
    <meta http-equiv="imagetoolbar" content="no">
    </head>
    <script type="text/javascript">
    function addEvent( obj, type, fn ) { 
       if (obj.attachEvent ) { 
         obj['e'+type+fn] = fn; 
         obj[type+fn] = function(){obj['e'+type+fn]( window.event );} 
         obj.attachEvent( 'on'+type, obj[type+fn] ); 
       } else 
         obj.addEventListener( type, fn, false ); 

    function removeEvent( obj, type, fn ) { 
       if ( obj.detachEvent ) { 
         obj.detachEvent( 'on'+type, obj[type+fn] ); 
         obj[type+fn] = null; 
       } else 
         obj.removeEventListener( type, fn, false ); 
    }
    </script>
    <body onload="addEvent(document.getElementById('aa'), 'click', function(){ alert('hello!'); } );">
    <div id="aa">fsad</div>
    </body>
    </html>因为页面还没载入完的时候脚本就执行了,可以放到body.onload时间中执行。
      

  2.   

    页面还没载入完document.getElementById('aa')为null