javascript
  • events
  • attachment
  • 2010-11-22 25 views 4 likes 
    4

    J'ai ceci:Modifier événement onclick avec JavaScript ne fonctionne pas

    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; 
    } 
    

    Pourquoi ne pas changer ce qui précède l'événement onclick?

    J'utilise Firebug et l'événement reste le même ...

    Voici le code HTML:

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

    ne pas oublier d'accepter la réponse si cela fonctionne pour vous –

    Répondre

    10

    Le chèque ci-dessous fonctionnera pour vous parce que vous ne pouvez pas affecter une valeur de chaîne au gestionnaire 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; 
    } 
    
    0

    Si vous débutez avec Javascript, je vous suggère de faire aquainted avec l'une des nombreuses excellentes bibliothèques javascript et ne jamais essayer d'écrire ce genre de choses pour vous-même à nouveau - il conduit à perdre votre esprit.

    Aussi, vous pourriez faire pire que d'acheter Javascript les bons morceaux et de regarder l'ensemble de vidéos par Douglas Crockford.

     Questions connexes

    • Aucun problème connexe^_^