2011-09-13 7 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> 

これは、スクリプトコードを二回

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

です。しかし関数が二回呼び出されていると呼ばれています。私は警報を2回見ることができます。最初のアラートの後に私の#2replies divが見えます。これは、HTML設定でうまく動作します。

+0

私はfalseを返し、何も働いていないスクリプトの後にtrueを返しやってみました。それは2度呼ばれています。 – gklaxman

+0

このコードをいくつかの場所から組み込む場合は、そのコードを2度組み込む必要があります。 – Shef

答えて

0

これは理想的ではないかもしれません。フルコードを見ることなく実際にイベントを2回バインドしているかどうかを判断するのが難しいからです。しかし、代わりにあなたはクリックイベントが再びそれを結合する前にバインドされていないことを確認することができます:

<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

これは回避策ですが、別の場所から他のリスナーを付けると解決しないと思いますが、あなたは恋に落ちることはありません... – Shef