我有以下代码在 HTML 文档的每个链接上附加事件侦听器。
问题是evt.target.href
总是返回页面上的最后一个链接,而不是引发事件的确切链接。我错过了什么?
var links = document.getElementsByTagName('a');
for (i = 0; i < links.length; i++) {
links[i].addEventListener('MSGestureHold', eventListener, false);
links[i].addEventListener('MSPointerDown', eventListener, false);
gestureHandler = new MSGesture();
gestureHandler.target = links[i];
};
function eventListener(evt) {
if (evt.type == 'MSPointerDown') {
gestureHandler.addPointer(evt.pointerId);
return;
}
if (evt.detail & evt.MSGESTURE_FLAG_BEGIN) {
window.external.notify(evt.target.href);
}
};
编辑 我应该提到我正在为 Windows Phone 开发并使用运行 IE10 的浏览器控件。所以我不关心兼容性。