Javascript事件函数问题
Javascript event functions question
为什么当我像这样添加一个事件作为函数时:
function func(arg)
{
arg.style.marginLeft = "65px";
}
window.onload = function() {
var test = document.getElementById("aaa");
test.onmouseover = func(test);
}
它被立即执行(即使我没有将元素悬停)。
但是这个可以:
window.onload = function() {
var test = document.getElementById("aaa");
test.onmouseover = function() {
test.style.marginLeft = "65px";
}
}
您正在将"onmouseover"属性设置为函数调用表达式:
的返回值test.onmouseover = func(test);
"func(test)"调用函数"func()",就像在任何其他代码中一样。
你可以这样做:
test.onmouseover = func;
这将绑定事件处理程序而不调用"func()",但它不会安排传递额外的参数。edit哦,等等,这只是DOM元素本身。
相关文章:
- IE9的HTML5 Canvas getImageData()函数存在问题
- javascript中的特定函数出现问题
- 运行Infinite Scroll后调用函数时出现问题
- jQuery使用ajax自动完成问题-TypeError:this.source不是函数
- 将代码放入click函数时出现javascript问题
- 使用setInterval调用原型函数时出现问题
- 在HTML中调用函数时出现问题
- 异步中的回调函数出现问题'张贴'
- Jquery函数返回订单问题
- 带有 JavaScript 随机数函数的未知问题
- 关于函数的Javascript问题 - IIFE
- 作用域问题-此函数是否形成闭包-JavaScript
- 用于异步函数中的循环和定时问题
- Createjs冲突问题localToLocal不是函数错误
- 使用Breeze脱机数据时出现未定义的问题不是函数
- 尝试将变量传递到对象中时的作用域问题'的方法构造函数
- Javascript函数变量传递语法问题
- 函数范围问题-函数未定义
- Javascript作用域问题:函数在$(doc).ready()中可用,但在事件处理程序中不可用
- 实现“喜欢”功能的问题.函数只工作一次