Magnific - 传递变量 javascript 问题

Magnific - passing variable javascript issue

当在我的页面上单击 link 时,它会显示带有相关项目 ID 的警告。但接下来发生的事情(使用 URL + 包含该 ID 的查询字符串触发的弹出窗口)显示为未定义。所以我只是想弄清楚为什么在调用弹出窗口时变量 ID 没有保存值。

编辑: 所以现在根据当前的更改,需要点击 2 次才能让弹出窗口显示正确的 querystring/ID。有任何想法吗?将 .magnificPopup 更改为 .magnificPopup.open 时,它无法执行任何 onclick.

编辑: 现在可以使用了。固定行:$.magnific.open 删除绑定到它的 class 名称。现在一切正常。感谢您的帮助!

<head><meta charset='UTF-8'> 

<link rel='stylesheet prefetch' href='magnific-popup/magnific-popup.css'>
</head><body>   
<script src='magnific-popup/jquery-2.1.4.min.js'></script>
<script src='magnific-popup/magnific-popup.js'></script>
<script type="text/javascript"> 
    $(document).ready(function () {
        $('.simple-ajax-popup2').click(function () {
            ID = $(this).data("var1");
           // alert(""+ID+"");
            $.magnificPopup.open({
            items: {
                src: 'Test.html?ID='  + ID + '' 
            },
            type: 'iframe',
        });
        }); 


    });
</script>
<a class="simple-ajax-popup2" data-var1="1" href='#' >
    test 1
</a> <br>
<a class="simple-ajax-popup2" data-var1="2" href='#' >
   test 2
</a> <br>
<a class="simple-ajax-popup2" data-var1="3" href='#' >
   test 3
</a> 
</body></html>

您应该在点击事件的函数中调用弹出窗口,否则,在执行 magnificPopup 时,ID 仍未定义:

$(document).ready(function () {
     $('.simple-ajax-popup2').click(function () {

          ID = $(this).data("var1");
          alert(""+ID+"");
          $('.simple-ajax-popup2').magnificPopup.open({
               items: {
                   src: 'Test.aspx?ID='  + ID + "" 
               },
               type: 'iframe',
           });
      });
});