为什么JavaScript 点击事件失效?
javascript 单击事件失效困扰
某些情况下,javascript 单击事件可能会失效,出现该问题可能是由于函数执行时机不当。
代码示例:
(function() { var btn = document.getelementbyid("btn"); function getname(name) { alert(name); } btn.onclick = getname("123"); })();
问题分析:
该代码中,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") 调用在内的匿名函数,从而正确触发警报对话框。
以上就是为什么JavaScript 点击事件失效?的详细内容,更多请关注其它相关文章!