本博文源于最近操作的JavaScript一个诡异的事情。我在用js一个动态生成的按钮,然后想要为其绑定一个alert的事件,结果发现控制台给我报未定义的错误,我慌的不要要的,经过长时间胡乱尝试终于解决了。
问题再现
dataHtml += "<button onclick="aa();">aa</button>";
function aa(){
alert("aa");
}
问题解决方法
没有在全局范围内定义 aa 函数,导致在运行时会提示 aa() 未定义 的错误。
解决方案一:将 aa 函数定义在全局作用域中
<script>
function aa() {
alert("Hello, World!");
}
</script>
<button onclick="aa()">点击我</button>
解决方案二:使用匿名函数作为按钮的点击事件处理程序
<button onclick="alert('Hello, World!')">点击我</button>
无论你选择哪种解决方案,都可以在按钮点击时显示弹出框中的消息。