原生写的document.getElementById("adiv").onclick=function(){}不起作用,给函数起个名字比如cure  ,写在页面里调用cure()即,onclick=“cure()”才起作用,为啥前一种方式不起做用

解决方案 »

  1.   

    引得js文件在body里面
      

  2.   

    在全局环境下的代码是在页面加载阶段从上到下一边加载一边执行的,这时处于代码下面的页面元素还没有加载完,访问不到。
    要把script放在页面body下面,或者放到window.onload事件(页面加载完成后触发)中才可以
      

  3.   

    在代码之前打印一下document.getElementById("adiv")看看得到对象没有 
      

  4.   

    如果在HTML标记內的onclick,使用匿名函式anonymous function,要加上括號()執行,不加括號只是宣告一個匿名函式。使用已命名函式
    <div onclick="cure()"></div>使用匿名函式
    <div onclick="(function(){})()"></div>
      

  5.   

    document.getElementById("adiv").onclick改成document.getElementById("adiv").click
      

  6.   

    id=adiv 写在document.getElementById("adiv").onclick=function(){}的前面就可以了
      

  7.   

    <input id="demo" type="button" value="点击我,显示 type 属性" /><script type="text/javascript">    document.getElementById("demo").onclick=function(){        alert(this.getAttribute("type")); // this 指当前发生事件的HTML元素,这里是<div>标签}
    </script>
    上面代码测试成功。
      

  8.   

    js 文件加载问题
    window.onload = function(){    document.getElementById("adiv").onclick=function(){};             }