2011-06-23 2 views
0

J'ai une barre de menu en haut de ma page Web avec 4-5 boutons asp.net, le code est contenu dans la page maître. Je veux que tous les boutons pour faire quelque chose de la souris, donc je suis déléguant l'événement dans une boucle comme ceci:Affectation d'événements javascript dans la page principale Asp.net

function pageLoad() { 

    var buttons = document.getElementsByClass("headerButton"); 

    for (i = 0; i < buttons.length; i++) { 

     var b = buttons[i]; 

     b.onmouseover = function (element) { 
      return function() { 
       element.style.fontWeight = "bold"; 
      } 
     } (b); 
     b.onmouseout = function (element) { 
      return function() { 
       element.style.fontWeight = "normal"; 
      } 
     } (b); 
    } 

Bien sûr, cela ne fonctionne que sur les pages de contenu. Page_Load ne se déclenche jamais sur la page maître, je crois, alors quand j'essaye de mettre ce code sur le maître rien ne se passe jamais. Quelqu'un sait-il comment cela doit être fait?

+0

Vous appelez ce script à partir de Page_Load ou via onload de la balise body? –

+0

J'ai une balise body dans la page maître et assigné cette fonction à son événement onload mais rien ne se passe. Pas d'erreur dans firebug. –

+0

En fait, je l'ai eu à travailler, merci. Pensez-vous que c'est la meilleure pratique? Il semble que le script s'exécute chaque fois qu'une page de contenu est chargée, plutôt qu'une seule fois. –

Répondre

1

Je dois manquer quelque chose ... Pourquoi ne pas gérer cela avec CSS?

.headerButton { 
font-weight: normal; 
} 

.headerButton:hover { 
font-weight: bold; 
} 
Questions connexes