0

基本上,我有 2 个 php 页面,它们是 a.php 和 b.php。我试图实现的是将 jquery 函数绑定到 b.php 中的内容。

jquery 函数将用于触发 a.php 中的弹出窗口。但是,我无法让它工作。有谁知道我犯了什么错误?

一个.php

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title></title>
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
      <script>
         $(function () {
         var abc = function(){
         alert("");
         }
         $("iframe").contents().find("a.toggle").click(abc);
         });
      </script>
      <meta http-equiv="cache-control" content="no-cache">
      <meta http-equiv="pragma" content="no-cache">
   </head>
   <body>
      <form method="post" action="">
         <div class="container" id="">
            <div class="resize main" id="" style="height: 600px;">
               <iframe id="" frameborder="0" scrolling="no" src="b.php" style="width: 1022px; border: none; height: 600px;">
               </iframe>
            </div>
         </div>
      </form>
   </body>
</html>

b.php

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title></title>
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta http-equiv="cache-control" content="no-cache">
      <meta http-equiv="pragma" content="no-cache">
   </head>
   <body>
      <form method="post" action="b.php">
         <div class="titlewrap">
            <div id="" class="pagetitle">
               <a class="toggle" href="#"><span class="icon slider-close">aa</span></a>
            </div>
         </div>
      </form>
   </body>
</html>
4

1 回答 1

0

我相信这是因为您的 javascript 函数是在 iframe 加载之前执行的。如果你改变

   $("iframe").contents().find("a.toggle").click(abc);

 setTimeout( function(){ $("iframe").contents().find("a.toggle").click(abc); }, 2000);

然后你的代码工作。

因此,为了解决您的问题,我建议将绑定函数移动到 b.php 并在 document.ready 事件触发时调用它。

b.php

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title></title>
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta http-equiv="cache-control" content="no-cache">
      <meta http-equiv="pragma" content="no-cache">
      <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
      <script>
       $(document).ready(
        function()
        {
           var abc = function(){
           alert("");
           }
           $('.toggle').on('click', abc);
        }
       );
      </script>
   </head>
   <body>
      <form method="post" action="b.php">
         <div class="titlewrap">
            <div id="" class="pagetitle">
               <a class="toggle" href="#"><span class="icon slider-close">aa</span></a>
            </div>
         </div>
      </form>
   </body>
</html>
于 2013-10-15T15:47:46.473 回答