0

popupを表示するために bpopup を使用しています。ここで興味深いことに、ボタンをクリックするとポップアップが表示されますが、そのボタンを再度クリックすると、コンソールにエラーが表示されますUncaught TypeError: Object [object Object] has no method 'bPopup'。ポップアップが 2 回表示され、3 回目にクリックすると同じエラーが発生することがあります。ここに私のコードの一部があります:

<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="assets/bpopup.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
    $("#signin").click(function(){
      $("#popup").bPopup({
        loadUrl: "<?php echo site_url().'xyz/signin'?>",
            });

  });
  });
  </script>
  </head>
  <body>
    <div id="popup" style="display:none;"></div>
    <div style="float:right;display:inline-block"><button id="signin">Sign In</button></div>
  </body>

編集:サインインをクリックすると、で作成された新しい要素があることがわかります。そのため、Jquery が再度読み込まれ、jQuery が 2 回読み込まれると、bpopup は機能しません。このスクリプトタグが来る理由は何ですか?

4

2 に答える 2

1

スクリプトのインクルードの順序を変更します (スクリプトをインクルードする前に jquery をインクルードする必要があります)

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="assets/bpopup.js"></script>
于 2013-06-18T12:56:44.877 に答える
0

問題が解決しました。ポップアップでロードされていたサインアップフォームに jQuery を再度含めていたため、 jQuery を 2 回ロードすると bPopup が機能しません。答えてくれてありがとう

于 2013-06-19T06:49:53.233 に答える