JavaScript 单击事件无法触发,为什么提示 undefined 错误?

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 错误?的详细内容,更多请关注其它相关文章!