触摸事件未被解雇
问题描述:
我遇到了这个问题。如果点击链接旁边(关闭,但不在链接上),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(使用开发工具设备模式)
是它的一些浏览器的问题或者它的说明书中所描述?
答
那么JavaScript有一个方法preventDefault(),防止被称为默认事件触发事件的对象。
link.addEventListener('touchend', function(e) { console.log('touchend'); e.preventDefault(); });
如果不还是不行,你应该添加一个事件点击赶上,以防止这个链接。
希望有所帮助。