みかづきブログ その3

3ヶ月つづけてみました。

documentのtouchmoveをpreventDefaultするとclick中にtouchmoveが発生した際にclickイベントが発火しない

表題のとおりですが、ページスクロールを止めようとして、touchmoveをpreventDefaultすると、clickイベントが効きづらくなります。
具体的には、click中に発生するtouchmoveも止まってしまうようで、click中に指が動くとclickイベントが発火しなくなります。

スマートフォンでご確認ください。

JavaScript

(function(win, doc) {

    "use strict";
    
    doc.addEventListener("touchmove", function(evt) {
        evt.preventDefault();
    }, false);
    
    doc.getElementById("btn").addEventListener("click", function() {
        alert("CLICK!");
    }, true);
    
})(this, document);

DEMO