监听用户的touchmove操作,导致input等表单不能输入内

2018-01-24  本文已影响0人  林遇66

原因:

由于要兼容各种不同的手机,我们一般要阻止浏览器默认事件。

event.preventDefault();

但是由于阻止了所有的默认行为,导致链接和输入框都不能正常使用。

解决:

我们可以在三个事件:touchstart、touchmove和touchend方法代码中加入以下代码:

var tar=event.target;

while (tar.nodeType !=1) {tar =tar.parentNode;}

if (tar.tagName !="SELECT" && tar.tagName !="INPUT" &&tar.tagName !="TEXTAREA" &&tar.tagName !="A"){

    event.preventDefault();

}

上一篇 下一篇

猜你喜欢

热点阅读