javascript - 将 ontouch 事件委托(delegate)给 onclick 监听器 js

标签 javascript jquery touch-event

我有一个页面,可以在普通计算机上完美运行,但在平板电脑设备上无法正常运行。 问题是我正在使用内联 onclick 处理程序,并且它们不会在触摸时被触发。

如何扩展常规 onclick 事件而不重构整个页面以调用相同的函数 ontouch 或 onclick(但不能调用两次)。

我有多个这样的元素:

<button onclick="alert('OK')"></button>

如何在不添加 ontouch 处理程序的情况下使它们工作?

最佳答案

我找到了解决方案,这似乎对我有用,但我不确定。 我只是在触摸时触发点击事件,取消默认行为。

它似乎适用于任何类型的点击处理程序,内联并传递给 jQuery .click()

$(document).on('touchstart', function(event){
        event.target.click();
        event.preventDefault();
    });

关于javascript - 将 ontouch 事件委托(delegate)给 onclick 监听器 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24165794/

相关文章:

javascript - 启用和禁用 jquery 单击可排序

jquery - 显示更多抽搐 - jquery

jquery - 如何在 Sharepoint 2010 中使用 HTTP 处理程序发出 jQuery AJAX 请求?

android - 被父级拦截后将 TouchEvent 调度到 Listview

javascript - 我的 javascript 函数出现错误,不确定我在计算 stv 方程时做错了什么

javascript - 添加到照片 slider 的链接

Javascript - 尝试创建动态组合框

javascript - 获取不同地点的经纬度值到一个值

javascript - 当 touchend 事件在 div 上启动时,iOS 上不会触发该事件

ios - uitextview 成为第一响应者后,UIButton 不调度触摸事件