2013-01-18 127 views
0
加载

我有一个左侧面板和右侧内容div的网站。当我点击左面板中的任何链接时,我使用Javascript Ajax调用将内容加载到div标签(名为'content')。将内容加载到DIV标记中,内容从

在我的情况下,加载到div标签的视图也有链接,所以如果我点击它们,他们只会打开一个全新的页面。我想让它们也加载到它们被调用的同一个div标签中。

我该如何做到这一点?

+0

难道仅仅是如果该链接是一个相对的URL,并在同一个域? –

回答

0

假设你有一个#left和#内容窗格中,你可以这样做:

$(document).on('click', '#left a, #content a', function() 
{ 
    var href = $(this).attr('href'); 
    if(!href || href[0] != '/') return; // relative URLs only 

    // Do your AJAX call here 
}); 

通过使用这个jQuery语法,因此你的文件和过滤器结合到#left a#content a添加新的锚,即使到#left或#content div,它们仍然会连线到该点击处理程序。在这一点上,你定义了一个逻辑来告诉它将新内容加载为AJAX调用,而不是进入新页面。我给了演示逻辑,让你开始。

2

如果你问的是同一页上打开新的链接,那么你可以使用下面的

$("#target").click(function() { 
var newurl="http://" + window.location["host"]; 
    window.location.href = newurl; // or simply window.location 
})}); 
+2

不错,谢谢你,你救了我的命 –