title: JQuerymobile on an iPad: vclick triggers a scroll to the top of the page, then executes the vclick
body: <p>SUPER SHORT VERSION:
   Elements on a jQuerymobile-based html5 webapp don't respond directly to vclicks on an iPad.  Instead, they silently scroll to the top of the page and trigger a vclick on whatever's under the same region of the screen.</p>
  
  <p>LONG VERSION WITH PICTURES AND CODE:
  I'm using JQuerymobile and I'm having a problem with my page responding to some vclick events when I'm using my iPad.  I've got a page with a bunch of  elements that are bound to respond to vclick events.  If everything fits onto my iPad's display without scrolling, everything works perfectly.  If I need to scroll to see the element I want to click, I get the following behavior:</p>
  
  <p>I tap my finger where the red circle is here:</p>
  
  <p><img src="https://i.stack.imgur.com/LJiQ4.png" alt="http://imgur.com/3L9qR.png"></p>
  
  <p>The page flickers and the page responds as if I clicked the area in the little blue circle:</p>
  
  <p>(blue circle image redacted for lack of hyperlinks to noobs (It's Q43ri.png on imgur)</p>
  
  <p>I was confused as to what the heck was happening until I superimposed the screens:</p>
  
  <p><img src="https://i.stack.imgur.com/MbPok.png" alt="http://imgur.com/KMPqQ.png"></p>
  
  <p>So when I click one of my divs, it seems like it's paying attention to the coordinates I click on the display, but then scrolling to the top of the window and actually executing the click from that perspective.  How do I fix this?</p>
  
  <p>Here's the html for that section of the page:</p>
  
  <pre><code> &lt;div id="inventoryPageContainer" style="padding-right: 100px;"&gt;
       &lt;div id="inventoryDisplayHeaders"&gt;
      &lt;div class="inventoryPageName inventoryPageColumn header"&gt;Name&lt;/div&gt;
      &lt;div class="inventoryPageQuant inventoryPageColumn header"&gt;#&lt;/div&gt;
      &lt;div class="inventoryPageWt inventoryPageColumn header"&gt;Wt.&lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;
  &lt;div id="inventoryTemplate" class="inventoryPageRow" style="display: none;"&gt;
      &lt;div class="inventoryPageName inventoryPageColumn"&gt;Template Item Name&lt;/div&gt;
      &lt;div class="inventoryPageQuant inventoryPageColumn"&gt;#&lt;/div&gt;
      &lt;div class="inventoryPageWt inventoryPageColumn"&gt;X lb&lt;/div&gt;
  &lt;/div&gt;
  &lt;div style="clear: both; border-bottom: 2px solid black;"&gt;&lt;/div&gt;
  </code></pre>
  
  <p>All of the divs are clones of that inventoryTemplate item.  If you need the CSS for that (I don't know man, I'm trying to give anyone reading this all the info I've got):</p>
  
  <pre><code> #inventoryPage .inventoryPageName {
       width: 100%;
   }
  
   #inventoryPage .inventoryPageQuant {
       width: 50px;
       margin-right: -50px;
       vertical-align: middle;
   }
  
   #inventoryPage .inventoryPageWt {
       width: 50px;
       margin-right: -50px;
       right: -50px;
       vertical-align: middle;
   }
  </code></pre>
  
  <p>Here's the event binding code:
       templateCopy.find('.inventoryPageName').text(row.itemName).bind('vclick.inventoryPage', { row: row }, generateItemDescriptionDialog);
       templateCopy.find('.inventoryPageQuant').text(row.quantity).bind('vclick.inventoryPage', { row: row }, generateItemQuantityDialog);</p>
  
  <p>generateItemDescriptionDialog and generateItemQuantityDialog both set some values on some dialog pages and then trigger the dialog pages to show with $.changePage("#thepages").</p>
  
  <p>So uh.. why's this happen and how do I make it not happen?</p>
  
  <p>(It's an RPG character sheet webapp if anyone's wondering why I'm cataloging weapons and guns.)</p>