我正在使用HTML + Javascript在Metro中开发应用程序。用于在img标记中创建链接时,我的链接无效:
<h4><a href="/pages/childpage.html">Go to child page</a></h4>
<a href="/pages/childpage.html"><img src="/images/home/child.jpg" /></a>
第一个链接正常,第二个链接没有。当我点击图片时,它会阻止该应用。
对于链接,我正在使用Application.PageControlNavigator as suggested in the documentation。我的JS有:
(function () {
"use strict";
function linkClickEventHandler(eventInfo) {
eventInfo.preventDefault();
var link = eventInfo.target;
WinJS.Navigation.navigate(link.href);
}
WinJS.UI.Pages.define("/pages/home/home.html", {
ready: function (element, options) {
WinJS.Utilities.query("a").listen("click", linkClickEventHandler, false);
WinJS.UI.processAll();
}
});
})();
答案 0 :(得分:2)
问题是link.href在标记内部使用标记时返回src字符串而不是href字符串。在您的情况下,link.href返回“/images/home/child.jpg”。我认为这是一个错误,而不是一个功能。解决方法是不使用href.link。
答案 1 :(得分:2)
你可以这样做:
使用<a>
标签的onclick属性并调用handler()函数,如下所示:
<a onclick="handler();"><img src="/images/home/child.png" /></a>
处理函数的主体如下所示:
function handler()
{
WinJS.Navigation.navigate('/pages/childpage.html');
}
对我来说很好。
答案 2 :(得分:0)
按块,我认为你的意思是“挂”?单击图像时是否调用linkClickEventHandler?