谷歌浏览器 – 这是一个错误? JavaScript的问题? 触摸屏input不工作

我有这个简单的button。 它通过点击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> 

我怎样才能使它与触摸input兼容?

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

 $("#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

编辑:

本地JavaScript实现可能如下所示:

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

最后,虽然不是最佳做法,但可以直接在HTML代码中调用它,如代码示例中所示:

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