点击一个按钮运行一个功能-不工作
Onclick of a button run a function - not working?
html:
<button id="go-btn">GO BUTTON!</button>
javascript:
function hi(){
alert("hi");
}
document.getElementById("go-btn").onclick = hi();
当我刷新页面时,在我点击按钮之前会弹出警报。为什么会发生这种情况?非常感谢!
因为在赋值时调用它:
document.getElementById("go-btn").onclick = hi();
只需移除()
,就可以将hi
-函数分配给onclick
-处理程序。
document.getElementById("go-btn").onclick = hi;
当前,您正在将hi()
的RESULT分配给onclick
处理程序。
试试这个:
function hi(){
alert("hi");
}
document.getElementById("go-btn").onclick = hi;
请注意我是如何从作业中删除()
的。您正在加载时立即调用函数。
您需要说:
document.getElementById("go-btn").onclick = function(){hi();}
否则,它将调用hi()
函数,而不是将其设置为onclick
。
另一种方法是:
document.getElementById("go-btn").onclick = hi;
您可以进行
var hi = function(){
alert("hi");
}
document.getElementById("go-btn").onclick = hi();
或
document.getElementById("go-btn").onclick = hi;
您需要将函数调用hi()
放入一个匿名函数:
document.getElementById("go-btn").onclick = function() {hi()};
相关文章:
- 当单元格内容由于forumula从另一个工作表编译数据而更改时发送电子邮件
- 当源工作表添加了行时,如何编写在一个工作表中添加行的脚本
- 如何在jquery中为object键创建一个工作变量以避免额外的代码
- 是否有可能在 threejs 中创建一个工作的计算机界面
- Javascript .call() 用法.一个工作案例,一个不是.有什么区别
- 我可以在 MVC 3.0 中获得一个工作 Asp.NET jsTree 4 示例,并异步加载节点
- 将数据从一个工作表复制到另一个工作表;使用目标工作表中的复制数据创建一个表
- 即使我从另一个工作小提琴复制代码,JSFiddle 也不起作用
- dojo's registry.findWidgets() 的一个工作示例
- 根据条件将行从一个工作表复制到另一个工作表
- 你如何使用JavaScript制作一个工作时钟
- 网络音频Api:我如何添加一个工作卷积器
- 我想编辑一个工作的javascript代码来增加它的功能
- 多个谷歌图表,只有一个工作
- 选择一个工作的国家
- jQuery Ajax的两个相同的函数为其中一个工作,而不是另一个
- 两次相同的onclick功能-只有一个工作
- 是否有一个工作的qrCode阅读器在Js/Jquery那里
- 将一个工作的jQuery表单复制到另一个位置,但只复制原来的工作
- 在两个不同的工作表中查找具有相同列的选定行,并将其从其中一个工作表中删除