
javascript 单击事件失效困扰
某些情况下,javascript 单击事件可能会失效,出现该问题可能是由于函数执行时机不当。
代码示例:
(function() {
var btn = document.getelementbyid("btn");
function getname(name) {
alert(name);
}
btn.onclick = getname("123");
})();问题分析:
立即学习“Java免费学习笔记(深入)”;
该代码中,getname("123") 立即执行,返回 undefined,而不传任何参数给 btn.onclick。因此,当单击按钮时,btn.onclick 为 undefined,不会引发任何操作。
解决办法:
要解决此问题,需要在单击事件处理程序中调用 getname 函数,而不是在声明时立即调用它。
(function() {
var btn = document.getElementById("btn");
function getName(name) {
alert(name);
}
btn.onclick = function() { // 匿名函数
getName("123");
};
})();这样,单击按钮时,btn.onclick 会执行包含 getname("123") 调用在内的匿名函数,从而正确触发警报对话框。










