search

Home  >  Q&A  >  body text

javascript - 求指点下js中的事件加载问题?

javascriptwindow.onload = function(){
    var oBtn = document.getElementById('btn1');
    oBtn.onclick = function(){
        alert("1234");
    };
};

如上代码,最常见的,当我们点击按钮时会显示“1234”

但是如果改为

javascriptvar b = function(){
    alert("1234");
};
window.onload = function(){
    var oBtn = document.getElementById('btn1');
    oBtn.onclick = b();
};

效果是页面一打开就自动显示“1234”,而这时点击按钮没显示,通过Chrome的开发者工具发现按钮没有点击事件,如图:

求懂的亲解释下这是为什么,,,谢谢。

巴扎黑巴扎黑2902 days ago415

reply all(2)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 14:57:45

    函数名后面加()表示立即调用,因此把b()后面的括号去掉。

    reply
    0
  • 阿神

    阿神2017-04-10 14:57:45

    var b = function(){
    alert("1234");
    };
    window.onload = function(){
    var oBtn = document.getElementById('btn1');
    oBtn.onclick = b;
    };

    在方法后面加'()' 表示调用这个方法.

    reply
    0
  • Cancelreply