JavaScript 单击事件无法触发,为什么提示 undefined 错误?
js 单击事件报错
在编写 js 代码时,遇到单击事件无法触发的情况,可能存在以下问题:
如下代码示例:
(function(){ var btn = document.getelementbyid("btn"); function getname(name){ alert(name); } btn.onclick = getname("123"); })();
在这种情况下,单击事件无法触发,提示 undefined 报错。这是因为在 getname("123") 执行时,并没有将返回值赋值给 btn.onclick,而是直接执行了该函数。
getname("123") 执行后,返回了 undefined,而 btn.onclick = undefined 自然就不会弹出任何内容。
要解决这个问题,需要将 getname("123") 的执行结果赋值给 btn.onclick,如下所示:
(function(){ var btn = document.getElementById("btn"); function getName(name){ alert(name); } btn.onclick = getName; })();
经过修改后,单击按钮将正常触发事件并弹出 "123" 的提示框。
以上就是JavaScript 单击事件无法触发,为什么提示 undefined 错误?的详细内容,更多请关注其它相关文章!