title: PointerEvents: Detect touching "through" an element
body: <p>Using pointer events, I can't find the right event to trigger for finger-based touches on smartphones (tested with Chrome Android and Chrome Devtools with mobile emulation).</p>
  
  <p>What I need: A "hover" event if you touch action <em>passes through</em> an element while holding the finger down moving over the screen.</p>
  
  <p>That is, put your finger down outside the element, move through it, and move finger up only after completely passing through the element.</p>
  
  <p>I attached a code snipped to clearify: I don't need events for the blue elements, I would only need respective "in/out" events for the red element in the snippet. The sample JS code will fire for the mouse, but on mobile it does not trigger any console.infos.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>var elem = document.querySelector(".element");
  
  elem.addEventListener("pointerover", function() {
      console.clear();
      console.info("pointerover triggered");
  });
  elem.addEventListener("pointerenter", function() {
      console.clear();
      console.info("pointerenter triggered");
  });
  elem.addEventListener("pointerleave", function() {
      console.clear();
      console.info("pointerleave triggered");
  });</code></pre>
  <pre class="snippet-code-css lang-css prettyprint-override"><code>.outer {
      width: 100px;
      height: 100px;
      border: 3px solid grey;
      font-size: 12px;
      color: white;
      text-align:center;
      touch-action: none;
      
  }
  
  .start {
     position: relative;
     top:0px;
     left:0px;
     width: 100px;
     height: 20px;
     background-color: blue;
  }
  
  .element {
     position: relative;
     top: 20px;
     left: 0px;
     width: 100px;
     height: 20px;
     background-color: red;
  }
  
  .end {
     position: relative;
     top: 40px;
     right: 0;
     width: 100px;
     height: 20px;
     background-color: blue;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div class="outer"&gt;
      &lt;div class="start"&gt;Start touch here&lt;/div&gt;
      &lt;div class="element"&gt;Move over here&lt;/div&gt;
      &lt;div class="end"&gt;End touch here&lt;/div&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>