Ajax Javascript:链接不起作用

时间:2017-05-29 16:18:42

标签: javascript html ajax sharepoint

在Sharepoint网站上,我的导航包含return AjaxNavigate$OnClickHook(event, this);。 该链接还有一个“normale”<a href="..."> - 标记。

现在,通过在链接标记内添加图片来更改链接的内容。

图片显示在右侧位置,光标还显示一个链接,可以通过右键单击上下文菜单打开并选择“打开链接”或“在新选项卡中打开链接”。 但是,当“正常”点击时它不会打开。

我猜上面的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... - 标记,通过以下代码:

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

以后插入图片的链接是否会出现问题?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我自己拿到了!

在插入图像的脚本/ jquery中插入,我也把它放在:

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

...带走链接内图像/周围的<span>。现在它正常工作!

相关问题