jQuery对话框中的Click事件发生两次?

Ear*_*rlz 5 jquery events dom jquery-ui

我一直在处理一个奇怪的问题,即.click()只要放入jQuery对话框就会发生两次事件.

我的简单测试用例如下,这里有一个实例

  <div id="popup" style="display: none">
    <a href="javascript:void(0);" id="testlink">Test Link</a>
    <script type="text/javascript">
      $('#testlink').click(function(){
        alert("Test Link clicked");
        return 0;
      });
    </script>
  </div>
  <script type="text/javascript">
  $(document).ready(function(){
    $('#popup').css('display','block');
    var h=($(window).height()+0.0)*0.9;
    var w=($(window).width()+0.0)*0.9;
    if(w >= 800){
      w = 800;
    }
    $('#popup').dialog({
      autoOpen: true,
      width: w,
      height: h,
      modal: true,
      open: function(event,ui){
        $('body').css('overflow', 'hidden');
      },
      close: function(event,ui){
        $('body').css('overflow', 'scroll');
      }
    });
  });
  </script>
Run Code Online (Sandbox Code Playgroud)

Mik*_*ier 7

移动在div <script>之外注册click事件的块popup,我认为当div变得可见时,JS会被另一次解析...