加载在div中打开的超链接 - 在同一个div中

时间:2016-05-13 11:42:38

标签: javascript jquery html css hyperlink

点击我之前提出的问题: How to show a page by default on page load

我基本上使用jQuery来加载div中的链接 - 这非常有效。但是,我现在要实现的是,当其中一个页面(在div中打开)有一个超链接时,如何在页面所在的同一div中打开超链接?

我们说我有一个菜单: 主页|服务|约

如果你点击服务 - 它会在div中加载页面 - 太棒了。

但是,假设服务有一个指向另一个页面的超链接(在同一个域/设置上) - 目前正在使用我在上面问题中引用的代码,该链接只在新标签页中打开...这不是&# 39;我想要的行为。

以下是代码:

  $('[data-target]').click( function (e) {
$.get($(this).attr('href'), function(data){ 
 $('#halloffame').empty(); 
  $(data).find(".partner_body").appendTo("#halloffame");

});
e.preventDefault(); // prevent anchor from changing window.location
  }); 
  $.get( "pages/accounting-software/", function( data ) { 
       $('#halloffame').empty(); 
        $(data).find(".partner_body").appendTo("#halloffame");

   }); 

这让我可以在div" halloffame"中打开超链接。但它并不控制页面中的链接 - 即使我在母版页上使用相同的代码:

<a data-target="#halloffame" href="pages/returns/">

如果有人能指出我哪里出错了,我会很感激:)

周五有一个很棒的人,伙计们!

1 个答案:

答案 0 :(得分:0)

您的事件侦听器绑定到当前现有DOM,当您添加新元素(来自您的ajax调用)时,您需要将事件侦听器绑定到新元素以及使用延迟事件处理(例如jQuerys on)。

See this answer for more details