2016-11-15 126 views
0

我遇到了这个问题。如果点击链接旁边(关闭,但不在链接上),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

那么JavaScript有一个方法preventDefault(),防止被称为默认事件触发事件的对象。

link.addEventListener('touchend', function(e) { console.log('touchend'); e.preventDefault(); });

如果不还是不行,你应该添加一个事件点击赶上,以防止这个链接。

希望有所帮助。