2013-08-18 1 views
1

좋아, 그래서 colorbox를 사용하여 PHP로 생성 된 동적 데이터의 창을 팝업하고 있습니다. 아래는 제 PHP입니다. 코드 ... 링크를 클릭하면 창에 데이터가 표시됩니다 ....하지만 같은 링크를 다시 클릭하면 창에 정보가 표시되지 않고 콘솔에 표시됩니다. a.removeEventListener is not a function 보여줄 colorbox에 대한 링크를 클릭하는 두 번째 시간. 첫 번째 작품 .. 무엇이 잘못 될 수 있습니까?Colorbox 처음으로 작동하지만 .. 두 번째 시간이 아니야 .. a.removeEventListener가 함수가 아닙니다.

jQuery(document).ready(function() { 
    var id_form; 
      var url; 
      $("a.madcomment").click(function(e) { 
       e.preventDefault(); 
      id_form = $(this).attr('id'); 
      url ="#madcomment_menu"+id_form; 
      $("a.madcomment").colorbox({inline:true, width:"350px", href:url}); 
      }); 


    }); 

    <?php 
    $select = "SELECT * FROM COMMENTS INNER JOIN Twitter_Data ON Twitter_Data.screen_name=Comments.Twitter WHERE Category ='Comments'"; 
      $result = mysql_query($select); 
      $result_count = mysql_num_rows($result); 
      echo " <table border =\"0\">"; 
      echo "<tr>"; 
      $user_array = array(); 
      $counter = 0; 
      if($result_count > 0) { 
      while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    echo "<div id ='scoring_scale' class='madscore".$row['ID']."' style='display:none;'>"; 
    echo "<div id='madcomment_menu".$row['ID']."' style='padding:10px; background:#fff;'>"; 
       echo "<a id='".$row['ID']."' class='green_circle' href='#'> +3 </a>"; 
       echo "<a id='".$row['ID']."' class='orange_circle' href='#'> +1 </a>"; 
       echo "<a id='".$row['ID']."' class='red_circle' href='#'> -1 </a>"; 
       echo "<a id='".$row['ID']."' class='brown_circle' href='#'> -3 </a><br />"; 
       echo"<form>"; 
       echo "<textarea id='text".$row['ID']."'rows='5' cols='33'>"; 
       echo "-"; 
       echo "</textarea>"; 
       echo"<button id='button".$row['ID']."'class='button_madscore'> MadComment </button>"; 
       echo "</form>"; 
       echo "</div>"; 
       echo "</div>"; 
    } 

    } 

    // Here is the link that will generate the COLORBOX pop-up 

    echo "<a id='".$row['ID']."'class=' madcomment' href='madcomment_menu".$row['ID']."'><img src='images/madcomment.png' /> </a>"; 
    ?> 
+0

내 경험에 비추어 볼 때 이미 해당 클래스에 대해 정의한 경우라도 새 콘텐츠를 페이지에 추가 할 때마다 $ (". class-name"). colorbox를 정의해야합니다. 예를 들어, 페이지를로드 할 때 "a.madcomment"클래스의 앵커 요소가 있고 $ (document) .ready에 $ (a.madcomment) .colorbox를 호출하면 모든 colorbox 속성이 제대로 작동합니다. 그러나 아약스 또는 다른 메소드를 통해 페이지를로드 한 후에 동일한 a.madcomment의 새 요소를 도입하면 새 요소에 대한 $ (a.madcomment) .colorbox 특성을 다시 정의해야합니다. –

+0

@DavidZhanLiu 정확히 다시 정의하십시오. 당신은 내게 a.madcomment가 colorbox와 함께 호출된다는 것을 보여줄 수 있습니까? –

+0

AJAX를 사용하지 않고 colorbox만을 사용하고 있습니다. –

답변

0

이이 아래로 코드를 colorbox 대체 방지하기 위해 앵커 클릭에 때마다 그래서 당신의 colorbox를 바인딩 :

$.fn.colorbox({inline:true, width:"350px", href:url}); 

이 문제가 해결됩니다.