2017-05-29 94 views
0

在Sharepoint网站上,我有一个包含return AjaxNavigate$OnClickHook(event, this);的导航。 还有一个“normale”<a href="..."> -tag链接。Ajax Javascript:链接不工作

现在,链接内容正在通过在链接标签内添加图片进行更改。

图片显示在正确的位置,光标还显示一个链接,可以通过右键单击上下文菜单并选择“Open Link”或“Open Link in new Tab”打开链接。 但点击“正常”时不打开。

我想上面的Ajax代码阻止了正常的链接处理。 我怎样才能让图像也能正确链接?

谢谢。

编辑: 相关HTML(由SharePoint站点大多生成):

(...) 
 

 
<div 
 
    class="ms-displayInline ms-core-navigation" 
 
    id="DeltaTopNavigation" 
 
    role="navigation" 
 
    > 
 

 
    <div 
 
    class=" noindex ms-core-listMenu-horizontalBox" 
 
    id="zz13_TopNavigationMenu" 
 
    onclick="return AjaxNavigate$OnClickHook(event, this);" 
 
    > 
 
    <ul 
 
     class="root ms-core-listMenu-root static" 
 
     id="zz14_RootAspMenu" 
 
     > 
 
     <li class="static selected"> 
 
     <a 
 
      tabindex="0" 
 
      class="static selected menu-item ms-core-listMenu-item ms-displayInline ms-bold ms-core-listMenu-selected ms-navedit-linkNode" 
 
      accesskey="1" 
 
      href="https://xxx/sites/00001/SitePages/SomeSite.aspx" 
 
      > 
 
      <span class="additional-background ms-navedit-flyoutArrow"> 
 
      <span 
 
       class="menu-item-text" 
 
       style="text-align: center; display: inline-block; position: relative;" 
 
       > 
 
       <img 
 
       style="width: 50px; height: 50px;" 
 
       src="/sites/00001/SiteAssets/images/pic.png" 
 
       border="0" 
 
       > 
 
       <br>Text 
 
      </span> 
 
      <span class="ms-hidden">Currently selected</span> 
 
      </span> 
 
     </a> 
 
     </li> 
 
     <li class="static"> 
 
     <a 
 
      tabindex="0" 
 
      class="static menu-item ms-core-listMenu-item ms-displayInline ms-navedit-linkNode" 
 
      href="https://xxx/sites/00001/SitePages/SomeSite2.aspx" 
 
      > 
 
      <span class="additional-background ms-navedit-flyoutArrow"> 
 
      <span 
 
       class="menu-item-text" 
 
       style="text-align: center; display: inline-block; position: relative;" 
 
       > 
 
       <img 
 
       style="width: 50px; height: 50px;" 
 
       src="/sites/00001/SiteAssets/images/pic2.png" 
 
       border="0" 
 
       > 
 
       <br>Text 2 
 
      </span> 
 
      </span> 
 
     </a> 
 
     </li> 
 
    </ul> 
 
    </div> 
 

 
</div> 
 

 
(...)

编辑2:<img... -tag被插入之后,通过此代码:

\t $('[id$="RootAspMenu"]').find('.menu-item-text').each(function(i,item) 
 
\t \t { 
 
\t \t \t var iconName = "pic_"; 
 
\t \t \t iconName += $(item).text().replace(" ","").toLowerCase(); 
 
\t \t \t iconName += ".png"; 
 
\t \t \t $(this).prepend('<img style="width:50px;height:50px;" src="/sites/00001/SiteAssets/images/'+iconName+'" border="0"><br/>'); 
 
\t 
 
\t \t \t $(this).css("display", "inline-block"); 
 
\t \t \t $(this).css("position", "relative"); 
 
\t \t \t $(this).css("text-align", "center"); 
 
\t \t } 
 
\t);
......我注意到,该地区“落后”的形象(因此,在 <span>区?)是否正确连接。只有图像不是。

这是否是后来插入图像的链接问题?我怎么解决这个问题?

+0

请向我们展示所有相关的JS和HTML代码。例如,“返回AjaxNavi ...”代码位于哪里? –

+0

如果可能,我想通过编辑插入的图像标签来实现这一点(由于复杂的访问Sharepoint脚本) –

+0

我将代码添加到问题 –

回答

0

我明白了!

脚本/ jQuery的,我插入的图片插入,我也把这个:

if ($(this).parent().is("span")) { 
 
\t \t $(this).unwrap(); 
 
}

...带走<span>围绕图像/链接里面。现在它工作正常!