Javascript 检查单击是否由触摸或单击触发
我有一个功能,点击就可以工作Javascript 检查单击是否由触摸或单击触发,javascript,jquery,Javascript,Jquery,我有一个功能,点击就可以工作 $('#test').click(function(e){ // some code }); 如何检查测试元素是否被单击或触摸?您可以为两者使用一个事件,然后检测触发的事件类型: $('#test').on('touchend click',function(e){ if(e.type=='click') alert('click triggered'); else alert('touch triggered'); });
$('#test').click(function(e){
// some code
});
如何检查
测试
元素是否被单击或触摸?您可以为两者使用一个事件,然后检测触发的事件类型:
$('#test').on('touchend click',function(e){
if(e.type=='click')
alert('click triggered');
else
alert('touch triggered');
});
希望这有帮助
$(“#测试”)。在('touchend click',函数(e)上{
如果(e.type=='click')
警报(“点击触发”);
其他的
警报(“触摸触发”);
});代码>
测试
因为我需要一个普通的JS解决方案,这是谷歌上出现的第一个结果,我想更多的人会发现我的发现很有用,所以我正在写这个答案
在寻找这个问题的解决方案时,我在a(谁会想到)中发现了这段代码,因此我将其包装在一个函数中,对我来说非常有吸引力:
function isTouchScreen() {
return window.matchMedia('(hover: none)').matches;
}
您可能希望在站点中实现之前签出,但这对我来说很好。我不知道为什么,但当使用Chrome设备工具栏上的模拟触摸输入时,我会收到两个警报。大多数人想知道事件是否真的是由触摸或点击触发的,有些设备可能同时支持这两个警报(Surface,iPad Pro)。所以这在大多数情况下都不起作用。