JavaScript不工作时更改onclick事件

JavaScript不工作时更改onclick事件,javascript,events,attachment,Javascript,Events,Attachment,我有这个: 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.getEleme

我有这个:

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
事件

我使用,事件保持不变

以下是HTML:

<a
    id='tp_action'
    name='tp_action'
    href='#'
    onclick='tp_visible(1);
    return false;'
>Show info</a>

下面的检查对您有效,因为您无法将字符串值分配给处理程序
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;
}

如果你是从Javascript开始的,我建议你使用众多优秀的Javascript库中的一个,不要再尝试为自己编写这些东西——这会让你失去理智


此外,你可能会做得比购买Javascript好的部分和观看视频集更糟糕。

如果答案对你有用,不要忘记接受它