将ontouch事件委托给onclick listener js

时间:2014-06-11 14:39:15

标签: javascript jquery ontouchevent

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

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

我有多个这样的元素:

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

如何在不向每个人添加触控处理器的情况下让它们工作?

1 个答案:

答案 0 :(得分:1)

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

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

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