en.onclick = setCookie('english');
为什么没有点击它,它就被触发了?
我有三个旗帜,应该在点击时将一个cookie设置为他们的语言,但最后一个旗帜总是立即被触发...
en.onclick = setCookie('english');
为什么没有点击它,它就被触发了?
我有三个旗帜,应该在点击时将一个cookie设置为他们的语言,但最后一个旗帜总是立即被触发...
你上面的代码评估 setCookie('english')
并将其返回的值(如果有)放入到 en.onclick
中。为了将它分配为事件处理程序,需要将其包装在一个函数中:
en.onclick = function(){
setCookie('english');
};
en.onclick=function(){
setCookie('english');
}
setCookie(...)
。请尝试以下操作:en.onclick = setCookie;
使用括号调用方法,不使用括号则将其作为对象传递。
或者尝试这个:
en.onclick = function() { setCookie('english') };
这里我们创建一个新函数,使用适当的参数调用setCookie
。
这是因为你正在运行该方法并将结果分配给en.onclick。
你可能想要做的是
en.onclick = function(){setCookie('english');};