我希望在我的iPad屏幕上触摸某个东西时有目标。 但不幸的是,它总是返回currentTarget,而不是目标。
document.addEventListener('touchstart', onDocumentTouchStart, false);
function onDocumentTouchStart(event) {
if (event.target.tagName.toLowerCase() == "div" || event.target.tagName.toLowerCase() == "canvas") {
// do someting
}
else
{
// do something else
}
}
但event.target.tagName
总是"HTML"
。但绝不是我触及的真实元素,例如锚标记或div。
如何获得我触及的真实元素?
非常感谢。
文森特
答案 0 :(得分:4)
您可以尝试“event.touches”数组,当前每个手指都有一个条目,其中“target”值引用触摸的DOM元素。
function onDocumentTouchStart(event) {
if (event.touches[0] && event.touches[0].target.tagName.toLowerCase() == "div") {
// do someting
}
}
但是,我应该注意到我无法复制原始问题;当我尝试它时,event.target按照预期将触摸的div称为。您还可以检查可能干扰事件冒泡的CSS和/或JS插件。