我有这个:
function tp_visible(action){
if(action==1){
document.getElementById("tp").style.display='block';
document.getElementById("tp_action").onclick='tp_visible(0);
return false;';
}
else {
document.getElementById("tp").style.display='none';
document.getElementById("tp_action").onclick='tp_visible(1);
return false;';
}
return false;
}
为什么以上内容不会更改onclick
事件?
我使用Firebug并且事件保持不变......
这是HTML:
<a
id='tp_action'
name='tp_action'
href='#'
onclick='tp_visible(1);
return false;'
>Show info</a>
答案 0 :(得分:10)
下面的检查对您有用,因为您无法将字符串值分配给处理程序onclick
。
function tp_visible(action){
if(action==1){
document.getElementById("tp").style.display='block';
document.getElementById("tp_action").onclick= function ()
{ tp_visible(0); return false;};
}
else {
document.getElementById("tp").style.display='none';
document.getElementById("tp_action").onclick= function ()
{tp_visible(1); return false; }
}
return false;
}
答案 1 :(得分:0)
如果您刚开始使用Javascript,我建议您使用其中一个优秀的javascript库,并且永远不要再尝试为自己编写这些东西 - 这会让您失去理智。
此外,您可能会比购买Javascript the Good Bits更糟糕,并通过Douglas Crockford观看一组视频。