title: Touchmove event doesn't get canceled under conditional
body: <p>I'm setting my mobile navigation to allow only tapping when it's in the viewport (I'm using off-canvas). When the first snippet below is executed without the conditional code the "touchmove" event is stopped by the use of <strong>preventDefault()</strong> as it should, however I can't get it to work when I add <strong>any</strong> condition. I say <strong>any</strong> because besides trying this first snippet, the original one, I made some tests presuming that the problem might be event delegation since the class used isn't in my HTML initially but will only be added later upon another event triggered. The test was a simple conditional certainly returning 'true' (my background-color' property in the same nav element), but yet it hasn't worked. Ideas?   </p>
  
  <pre><code>if ($('body').hasClass('active-nav')) {
   document.body.addEventListener("touchmove", function(event){   
    event.preventDefault();
   });    
  }
  </code></pre>
  
  <p><strong>TEST</strong></p>
  
  <pre><code>var backColor = document.getElementsByTagName('nav')[0].style.backgroundColor;
  
  if (backColor == 'transparent') {
   document.body.addEventListener("touchmove", function(event){   
    event.preventDefault();
   });
  }
  </code></pre>