en.onclick = setCookie('english');
为什么会在没有点击的情况下被解雇?
我有3个标志,当点击时,应该设置一个cookie到他们的语言,最后一个总是立刻被解雇...
答案 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');};