Onclick在没有点击的情况下被解雇

时间:2011-04-21 12:09:24

标签: javascript onclick

en.onclick = setCookie('english');

为什么会在没有点击的情况下被解雇?

我有3个标志,当点击时,应该设置一个cookie到他们的语言,最后一个总是立刻被解雇...

4 个答案:

答案 0 :(得分:19)

上面的代码评估setCookie('english')并将其返回值(如果有)放入en.onclick。为了将其指定为事件处理程序,请将其包装到函数中:

en.onclick = function(){
   setCookie('english');
};

答案 1 :(得分:5)

因为你必须使用类似的东西

en.onclick=function(){
  setCookie('english');
}

答案 2 :(得分:3)

因为您正在调用方法setCookie(...)。试试这个:

en.onclick = setCookie;

使用括号调用方法;没有你把它作为一个对象。

或试试这个:

en.onclick = function() { setCookie('english') };

这里我们创建一个新函数,用适当的参数调用setCookie

答案 3 :(得分:2)

那是因为您正在运行该方法并将结果分配给en.onclick。

你可能想要做什么

en.onclick = function(){setCookie('english');};