切换html元素的代码被调用两次


Code to toggle HTML-elements is called twice

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

但是函数被调用了两次。我可以看到两次警报。在第一个警报之后,我的#2repliesdiv是可见的。

这可能不太理想,因为在没有看到完整代码的情况下,很难判断您是否实际上绑定了两次事件。但是,您可以在再次绑定click事件之前确保它已被解除绑定:

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