我们正在开发一个Web应用程序,它可以在桌面和平板电脑(iPad,Android或表面)上启动。现在我们正在为数字输入构建自己的键盘。使用mousclick将焦点设置在输入字段上时,costum键盘打开正确。但是当您通过触摸的点击(平板电脑)将焦点设置为输入时,默认键盘也会打开。我们的想法是,检测是否有鼠标点击或触摸点击。如果触摸了点击,我们可以将 readonly =" true" 属性设置为输入,因此表格上的默认键盘不会滑入。
有没有办法检测或检查哪种"类型"点击它(触摸或鼠标)。
答案 0 :(得分:8)
您可以为两个操作touchend
和click
定义一个事件,然后使用该事件的类型检测哪一个被触发:
$('#element-id').on('click touchend',function(e){
if(e.type=='click')
console.log('Mouse Click');
else
console.log('Touch');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="element-id">Click here</button>
希望这有帮助。
答案 1 :(得分:1)
@Zakaria Acharki
<script type="text/javascript">
$(document).ready(function(){
$(".cCostumeKeyboard").on("click touchstart",function(e){
if(e.type=="click") {
alert("Mouse");
alert(e.type);
}
else if(e.type=="touchend"){
alert("Touch");
alert(e.type);
e.preventDefault();
e.stopPropagation();
}
});
});
</script>
在触摸设备上试用此代码段。在第一次触摸输入后显示: