javascript - 求指点下js中的事件加载问题?
巴扎黑
巴扎黑 2017-04-10 14:55:45
0
2
416
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的开发者工具发现按钮没有点击事件,如图:

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

巴扎黑
巴扎黑

reply all(2)
洪涛

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

阿神

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

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

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template