解决方案 »

  1.   

    正确是:
    xxx.onclick=function(){
    alert('xxx');
    }
      

  2.   

    类似这种触发事件的响应都是一个函数,也就是function事件响应你都应该这么写:xxx.onclick = function(){
            alert("xxx");
    }
    你的写法适合直接写在html元素的onclick属性上,比如:<input type="button" onclick="alert('xxx')" />这样就是可以的
      

  3.   

    第一个是事件绑定机制,是一个回调,这么说吧,就相当于你在增加了一个监听器,一直在监听着xxx的click,一旦click就执行你后面的内容;
    第二个的话即使基本的赋初值之类的
      

  4.   

    你把alert('xxx')的返回值赋值给xxx.onclick了。
    把事件函数变成了属性了
      

  5.   

    xxx.onclick=alert('xxx');语句就是 表达式 
    上面表达式解析就是
    a = b
    也就是 b得值 赋予 ab 也是一个表达式  alert('xxx');在语句执行得时候 表达式 必须被求值(被执行)
    那么 b被执行但是写在html上可以<div onclick='alert(111)'></div>
    为什么可以?
    因为 页面解析后变成类似
    onclick = function(){
         alert(111);
    }
      

  6.   

    你这段代码应该会报错,alert出xxx只是一个执行过程,赋值的时候执行了而已。
    jsjq加载自动执行的几种方法