触摸事件让我疯狂

时间:2011-09-17 18:48:27

标签: html events touch

我在这里和那里都有关于触摸的内容,但我完全无法理解。我有一个应用程序,我阻止文档上的所有触摸事件。

document.addEventListener('touchstart', function (e) { e.preventDefault(); }, false);
document.addEventListener('touchend', function (e) { e.preventDefault(); }, false);

现在我在文档中的某个位置在添加上面的行之前工作正常,但现在没有。

<form onsubmit="search(event)">
    <input id="q" type="text" placeholder="Search.." />
</form>

非常需要阻止文档触摸。如果您知道任何详细描述触摸事件的指南,我该如何重新解决问题呢?

1 个答案:

答案 0 :(得分:1)

现在您正在阻止所有触摸事件,但您真正想要做的是阻止所有触摸事件除外:x,y和z;

您只需要使preventDefault()有条件。

e.g。

document.addEventListener('touchstart', function (e) {
    e=e||window.event;
    var recip=e.target||e.srcElement;
    if(recip.nodeName.toLowerCase()=='input'){return true;}
    e.preventDefault();
}, false);