为什么内置函数不能处理事件?

时间:2014-05-29 01:56:18

标签: javascript

为什么内置函数不适用于Javascript事件?

document.getElementById('test').onchange = alert("testing");

这不起作用,并立即触发。

相反,我必须将内置函数包装在函数中以使其工作:

document.getElementById('test').onchange = function() { alert("testing"); }

为什么会这样?

1 个答案:

答案 0 :(得分:4)

区别在于传递函数句柄与调用函数。

当你做alert()时,你正在调用该函数,而不是传递它(技术上你传递函数的结果)。

在第二种情况下,您不是在调用函数,而是定义一个新函数并返回它。