【问题标题】:Loading a hyperlink opened in a div - in the same div加载在 div 中打开的超链接 - 在同一个 div 中
【发布时间】:2016-05-13 11:42:37
【问题描述】:

继我之前的问题之后: How to show a page by default on page load

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

假设我有一个菜单: 主页 |服务 |关于

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

但是假设服务有一个超链接到另一个页面(在同一个域/设置上) - 目前使用我在上面问题中引用的代码,链接只是在一个新选项卡中打开......这不是我的行为想。

代码如下:

  $('[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/">

如果有人能指出我哪里出错了,我将不胜感激:)

伙计们,祝你星期五愉快!

【问题讨论】:

  • 您在锚标签中尝试过 target="_self" 吗?
  • @riteshmeher - 谢谢,大声喊叫,我没有,但刚刚尝试过,但没有任何乐趣:( >>> 完整代码 >>>>> gyazo.com/ca5fb1087b26d1f8cb54f6f6f0f5dc52

标签: javascript jquery html css hyperlink


【解决方案1】:

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

See this answer for more details

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多