javascript - 谷歌浏览器 - 这是 BUG 吗? Javascript 问题?触摸屏输入不工作

标签 javascript jquery windows google-chrome touch

我有这个简单的按钮。它在同一台机器上通过 USB 鼠标点击工作,但通过触摸屏(Iiyama 触摸屏)点击时不起作用。

<script>
function button_vipanytime() {
  console.log('OK we clicked');
  alert('Touch screen works');// using mouse I get the alert, but when I tap with touchscreen it never executes.

}

/* fail too
$(document).ready(function() {
  $('#vip_anytime').click(function() { 
    alert('jquery');  
  });
});
*/
</script>

<div id="vip_anytime" style="" onclick="button_vipanytime(); " >
    <img src="images/sp/vip.png"  style="width:70px; height: 48px;" />
</div>

如何让它与触摸输入兼容?

最佳答案

由于另一组事件支持屏幕触摸,因此您应该为基于触摸的事件添加监听器。试试这个:

$("#vip_anytime").on("touchend", function(e){
 alert("OK we touched");
});

这不应取代正常的“点击”事件,但应与它一起添加。

$("#vip_anytime").on("click touchend", function(e){
   alert("OK we touched");
});

如果您需要更多信息,那么您可能会发现这很有帮助:https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html

编辑:

native JavaScript 实现可能如下所示:

document.getElementById("vip_anytime").addEventListener("touchend", function(e) {
  alert("OK we touched");
});

最后,虽然这不是最佳实践,但您可以直接在 HTML 代码中调用它,如您的代码示例所示:

<div id="vip_anytime" ontouchend="button_vipanytime();">click me</div>

关于javascript - 谷歌浏览器 - 这是 BUG 吗? Javascript 问题?触摸屏输入不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31318668/

相关文章:

javascript - jquery 在鼠标悬停时淡入淡出

javascript - 滚动文本(自动收报机) 我怎样才能有效地设置它以便它可以多次使用?

c++ - 头文件顺序

windows - WIX 安装无法将证书安装到某些机器的根证书颁发机构

javascript - 我正在寻找 style.background 的解决方案

javascript - 至少一组所有html元素填充jquery

javascript - 获取javascript中函数的返回值

javascript - Rails 3.1 http streaming - js 在头部或 body 底部?

jquery - 高度为 100% 并自动滚动 bootstrap 3

c++ - 错误 LNK2005 : _sprintf already defined in ntdll. lib(ntdll.dll)