2

我的页面 ( index.php) 包含一个链接id="t1"和一个 div id="container"

<a id="t1" title="Users" href="utenti.php">Users</a>
<div id="container">
   <!--Where does the contained--> 
</div>

当我单击链接时,我会得到一个内置的外部页面(utenti.php)

这是 Ajax 的代码:

$(document).ready(function(){

    $("#t1").click(function(){
            //$("#container").hide();
          $("#container").load($(this).attr("href"), function(){      
                   $("#container").show();
                   event.preventDefault();
                   });
            return false;
         });

});

到目前为止一切都很好,但是如果我单击包含的页面中的链接(utenti.php),则该页面不会合并到同一个 div 中,而是以直接方式打开。

我尝试将代码 Ajax 放入 .JS 文件中,以识别链接的 ID 转换为:

$(document).ready(function(){

    $("#t1").click(function(){


            //$("#container").hide();
          $("#container").load($(this).attr("href"), function(){      
                   $("#container").show();
                   event.preventDefault();
                   });
            return false;
         });

      $("#click").click(function(){
             //$("#container").hide();  
          $("#container").load($(this).attr("href"), function(){  
                $("#container").show();
                   event.preventDefault();
                });
            return false;
         });             


});

#click页面中id包含的链接在哪里Utenti.php,但即便如此我也没有将页面合并到 div 中。

我还尝试将页面直接包含在页面内的脚本中,utenti.php但我认出了第一个链接(这很好)但其他人都这样做!(不是所有其他人!)

如果我理解正确的话,这个系统实际上并没有像 PHP 的经典包含那样包含页面。

他还给他已经包含在索引中的值更多的是一种可视化,只是我不明白如何在主页内传递utenti.php中包含的链接的值index.php

4

2 回答 2

0

它应该是

 $(document).on("click","#t1",function(e){
     e.preventDefault();
     var href = $(this).attr("href");
     $("#container").load(href);
    });
于 2013-06-22T13:08:39.153 回答
0

如果您希望在 div 中打开的页面上的链接也以 div 为目标,您可以在 div 本身上尝试委托点击处理程序。

$(document).ready(function () {    
    $("#t1").click(openLinksInDiv);
    $("#container").on("click", "a", openLinksInDiv);

    function openLinksInDiv(event) {
        //$("#container").hide();
        $("#container").load($(this).attr("href"), function () {
            $("#container").show();
        });
        event.preventDefault();
    }
});

演示:http: //jsfiddle.net/AN56C/

或者,如果您希望页面上的所有链接都在该 div 中打开,请使用:

$(document).on("click", "a", openLinksInDiv);

请注意,通过 Ajax 加载页面不适用于来自外部域的任何和所有页面,但适用于来自您自己域的页面。

整个事情似乎是 iframe 而不是 div 的完美案例,在这种情况下,您可以链接到外部域。

于 2013-06-22T12:56:15.580 回答