在声明上运行的事件上的 JavaScript 函数
JavaScript function on event running on declaration
为什么当我加载页面时它会运行函数并提醒我"函数运行"我没有在任何地方调用它,我需要函数仅在元素单击时触发。
<script type="text/javascript">
open_close = function() {
alert("function run");
//some code ...
}
window.onload = function() {
//some code ...
var myButton = document.getElementById('button');
myButton.onclick = open_close();
//some code ...
}
</script>
这是jfiddle演示 http://jsfiddle.net/ayeBP/
啊,但你确实运行了它:
myButton.onclick = open_close();
括号调用函数。请改用这个:
myButton.onclick = open_close;
更好的是(点击查看旧版IE支持):
myButton.addEventListener('click', open_close);
好的,这是简单的函数,我需要实际向其传递 2 个变量,例如
myButton.onclick = open_close(var1,var2);
您仍然不能像一直尝试的那样使用括号,因为括号会调用该函数。使用匿名函数:
myButton.onclick = function () {
open_close(var1, var2);
};
// or, even better,
myButton.addEventListener('click', function () {
open_close(var1, var2);
});
将open_close()
替换为open_close
在此处使用括号将立即调用该函数并将其返回值分配给myButton.onclick
相关文章:
- 从函数JavaScript返回不可变数组/对象
- 将对象传递给函数.JavaScript
- 如何定义const函数javascript(语法糖)
- 新的日期函数javascript
- TypeError:this.getAttribute不是一个函数-javascript
- 从函数javascript发送变量
- 扩展自容器函数Javascript
- 从内部函数javascript内部分配外部函数的对象
- 使用函数JavaScript中的函数
- 在这里使用回调函数(JavaScript)有什么好处吗
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 将“e”传递给一个新函数 - javascript
- 调用函数中的一个函数——Javascript
- 传递的变量不适用于我的函数-Javascript
- 如何将类方法设置为等于多个函数?-Javascript
- 显示php中的函数javascript
- 如何使用php代码创建函数Javascript弹出框
- 未调用的外部函数-javascript
- 如何在类中运行函数.Javascript
- 关闭mouseover上的一个函数——Javascript,jQuery