をdoesntの、私はreturn AjaxNavigate$OnClickHook(event, this);
が含まれているナビゲーションを持っています。 リンク用の「ノーマル」<a href="...">
タグもあります。のAjax Javascriptを:リンクがSharePointサイト上で作業
ここで、リンクされたコンテンツは、リンクタグ内の画像を追加することによって変更されています。
画像が正しい位置に表示されますが、カーソルはまた、右クリックのコンテキストメニューと択一「リンクを開く」または「新しいタブで開くリンク」を経由して開くことができるリンクが表示されます。 しかし、「通常」をクリックしても開きません。
私はAjaxのコードは、上記の通常のリンク処理を防止することを推測します。 画像を正しくリンクするにはどうしたらいいですか?
ありがとうございました。
編集: (SharePointサイトで主に生成される)関連HTML:
(...)
<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>
(...)
EDIT 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>
エリア?) "背後" 領域が正しくリンクされていることに気づきました。画像のみが表示されません。
は、画像がその後に挿入されたことがリンクの問題だろうか?どうすればこの問題を解決できますか?
関連するJSコードとHTMLコードをすべて表示してください。例えば、 'return AjaxNavi ...'コードはどこにありますか? –
可能な場合、私は疑問 –
(原因Sharepointのスクリプトへの複雑なアクセスへの)挿入した画像タグを編集することによってこれを実現したいのですが、私はフォーマットしてみましたそれは読みやすくするためです。注意:要素間に空白を追加すると、望ましくない効果が生じることがあります。上では、 ''を改行していますが、元に戻す必要がある場合に備えて、これを覚えておいてください。 –