2011-09-13 5 views
0
// Here based on the class rply1 I am displaying replies 
<div class="biz_gary_btn width80 pl5 fl rply1<?php echo $comm['comment_id'];?>"> 
    <div class="fl pt5_ie pt1"><img src="<?php echo base_url();?>images/green_callot.png" alt="Green Callot"></div> 
    <div class="arial bold fnt11 c7b7b7b fl pl5 ">2 Replies </div> 
</div> 
<!--2 Replies--> 
<!--Reply--> 
<div class="biz_gary_btn width84 pl5 fl rply2<?php echo $comm['comment_id'];?>"> 
    <div class="fl pt5_ie pt1 pl5"><img src="<?php echo base_url();?>images/light_blue_callot.png" alt="Blue Callot"></div> 
    <div class="arial bold fnt11 c7b7b7b fl pl7">Reply</div> 
</div> 

Voici le scriptcode pour activer les éléments HTML-est appelé deux fois

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $(".rply1<?php echo $comm['comment_id'];?>").click(function(){ 
      alert("sdfsd"); 
      //return true; 
      $("#2replies<?php echo $comm['comment_id'];?>").toggle(); 
      $(".rply1<?php echo $comm['comment_id'];?>").toggleClass("advice_white_btn_active"); 
     }); 

     $(".rply2<?php echo $comm['comment_id'];?>").click(function(){ 
      $("#reply<?php echo $comm['comment_id'];?>").toggle(); 
      $(".rply2<?php echo $comm['comment_id'];?>").toggleClass("advice_white_btn_active"); 
     });          
    }); 
</script> 

Mais la fonction est appelée deux fois. Je peux voir l'alerte deux fois. Après la première alerte, mon div #2replies est visible. Cela fonctionne très bien dans la configuration HTML.

+0

J'ai essayé de retourner false et de retourner true après que le script n'ait fonctionné. Il est appelé deux fois. – gklaxman

+0

Si vous incluez ce code à un endroit, vous devez l'inclure deux fois. – Shef

Répondre

0

Cela peut ne pas être idéal car sans voir votre code complet, il est difficile de savoir si vous liez réellement l'événement deux fois. Mais, à la place, vous pouvez vous assurer qu'un événement click n'est pas lié avant de le lier à nouveau:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $(".rply1<?php echo $comm['comment_id'];?>").unbind("click").bind("click", function(){ 
      alert("sdfsd"); 
      //return true; 
      $("#2replies<?php echo $comm['comment_id'];?>").toggle(); 
      $(".rply1<?php echo $comm['comment_id'];?>").toggleClass("advice_white_btn_active"); 
     }); 

     $(".rply2<?php echo $comm['comment_id'];?>").unbind("click").bind("click", function(){ 
      $("#reply<?php echo $comm['comment_id'];?>").toggle(); 
      $(".rply2<?php echo $comm['comment_id'];?>").toggleClass("advice_white_btn_active"); 
     });          
    }); 
</script> 
+0

Ceci est une solution de contournement, mais je ne pense pas que ce soit une solution si vous attacher d'autres auditeurs d'ailleurs vous allez être laissé par amour ... – Shef