在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>
区域?)是正确链接的。只有图像不是。
以后插入图片的链接是否会出现问题?我该如何解决这个问题?
答案 0 :(得分:0)
我自己拿到了!
在插入图像的脚本/ jquery中插入,我也把它放在:
if ($(this).parent().is("span") ) {
$(this).unwrap();
}
...带走链接内图像/周围的<span>
。现在它正常工作!