在用原生JavaScript的对象绑定的方式绑定onclick事件, 出来的实际效果却类似于onload的效果.
想要鼠标点击按钮弹窗提示, 可是实际上却是页面一加载就弹窗提示, 点击反而没有效果.
为此, 我尝试了三种方式:
实名函数, 在按钮属性中调用(属性绑定). OK!
匿名函数, 属性绑定和对象绑定均OK!
适应函数, 赋值给按钮对象的属性onclick(对象绑定), 就出现了上文所说的错误!Error
请看代码片:
1.对象绑定事件(失败)
//设置点击按钮//
<button id="b" >点击</button>
<script type="text/javascript">
//定义实名函数fun(), 实现弹窗效果//
function fun() {
alert("xxxx");
}
document.getElementById("b").onclick = fun(); //?: onclick 怎么成了onload的效果?
2.匿名函数绑定(成功)
//设置点击按钮//
<button id="b" >点击</button>
<script type="text/javascript">
//定义匿名函数fun(), 实现弹窗效果//
document.getElementById("b").onclick = function(){
alert("xxxx");
}
3.实名函数, 属性绑定(成功)
//设置button的属性onclick绑定fun()//
<button id="b" onclick="fun()">点击</button>
<script type="text/javascript">
//定义实名函数//
function fun() {
alert("xxxx");
}
为什么第一种方式偏偏失败呢? 这是什么机制导致的?
杨魅力
蝴蝶不菲
慕妹3242003
慕桂英4014372
随时随地看视频慕课网APP
相关分类