2012-02-06 2 views
0

Voici le code HTML:événement Click est déclenché en cliquant sur un élément frère

<div class="categories"> 
    <h3> 
     <img src="http://i.imgur.com/TThAk.gif" /> 
     <a href="/foo">Foo</a> 
     <p class="subtext">heading</p> 
    </h3> 
    <div> 
     <ul> 
      <li>some li here.</li> 
     </ul> 
    </div>  
</div> 

Voici le code jQuery:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var minusImgUrl = "http://i.imgur.com/t5UXT.gif", 
      plusImgUrl = "http://i.imgur.com/TThAk.gif"; 

     $('.categories').accordion({ 
      active: false, 
      autoHeight: false, 
      fillSpace: false, 
      collapsible: true, 
      changestart: function (event, ui) { 
       $('h3 img').attr('src', 'http://i.imgur.com/TThAk.gif'); 
       ui.newHeader.find("img").attr("src", minusImgUrl); 
       ui.oldHeader.find("img").attr("src", plusImgUrl); 
      } 
     }); 

     $('.categories h3 img').click(function() { 
      $(this).next().click(); 
     }); 

     //This is the bad one! 
     $('.categories h3 a').click(function() { 
      window.location = $(this).attr("href"); 
     }); 
    }); 
</script> 

Il ne devrait déclencher l'événement sur le « un » clic , mais il a tiré quand je clique sur quelque chose.

Répondre

3

Essayez de supprimer ce qui semble lier un clic sur l'image à un clic sur la balise A:

$('.categories h3 img').click(function() { 
     $(this).next().click(); 
    }); 
Questions connexes