我有一个左侧面板和右侧内容div的网站。当我点击左面板中的任何链接时,我使用Javascript Ajax调用将内容加载到div标签(名为'content')。将内容加载到DIV标记中,内容从
在我的情况下,加载到div标签的视图也有链接,所以如果我点击它们,他们只会打开一个全新的页面。我想让它们也加载到它们被调用的同一个div标签中。
我该如何做到这一点?
我有一个左侧面板和右侧内容div的网站。当我点击左面板中的任何链接时,我使用Javascript Ajax调用将内容加载到div标签(名为'content')。将内容加载到DIV标记中,内容从
在我的情况下,加载到div标签的视图也有链接,所以如果我点击它们,他们只会打开一个全新的页面。我想让它们也加载到它们被调用的同一个div标签中。
我该如何做到这一点?
假设你有一个#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调用,而不是进入新页面。我给了演示逻辑,让你开始。
如果你问的是同一页上打开新的链接,那么你可以使用下面的
$("#target").click(function() {
var newurl="http://" + window.location["host"];
window.location.href = newurl; // or simply window.location
})});
不错,谢谢你,你救了我的命 –
难道仅仅是如果该链接是一个相对的URL,并在同一个域? –