我遇到了这个问题。如果您点按链接旁边的(关闭,但不在链接上),则touchend
事件不会被触发,只会mouseup
。如果点击链接,则会触发两个事件。
HTML:
<a id="link" href="#">link</a>
JS:
var link = document.getElementById('link');
link.addEventListener('mouseup', function() {
console.log('mouseup');
});
link.addEventListener('touchend', function() {
console.log('touchend');
});
jsfiddle(使用开发工具设备模式)
是否存在某些浏览器问题或规范中描述的问题?
答案 0 :(得分:0)
javascript有一个方法preventDefault(),可防止在触发事件的对象上调用默认事件。
link.addEventListener('touchend', function(e) {
console.log('touchend');
e.preventDefault();
});
如果仍然不起作用,您应该添加一个事件点击以捕获它以防止关注该链接。
希望有所帮助。