Web开发不是我的最强点,所以如果这是愚蠢的道歉,但我希望有一个可以在移动设备上点击的div,这样我就可以拦截水龙头并做一些事情。
我在JavaScript中将touchdown
事件监听器附加到div,当我点击时,我会对div进行着色以表明它已被选中。
但是,如果div中有一个锚标记<a href="..."></a>
,其中包含一些文本(在这种情况下完全有效),我不希望在您单击链接时突出显示div。
我不确定网络开发中的术语,但有没有办法让锚标签拦截触摸,这样如果选择了锚标记,它们就不会被发送到div?
答案 0 :(得分:0)
您可以在事件处理程序中使用条件来测试事件目标是否为锚点。我在我的示例中使用了click
事件,但它也应该与touchdown
一起使用。
var tapDiv = document.querySelector('#tap');
tapDiv.addEventListener('click', function(e) {
//conditional ensures the clicked element isn't an <a>
if (e.target.tagName.toLowerCase() !== 'a') {
e.currentTarget.style.backgroundColor = 'orange';
}
});
&#13;
#tap {
padding: 8px;
background-color: black;
}
#tap a {
display: inline-block;
padding: 8px;
background-color: white;
}
&#13;
<div id="tap"><a href="#">This is the anchor</a></div>
&#13;