title: jquery-mobile event order and why does setTimeout set $this to undefined?
body: <p>I need to delay the execution of the 2nd function <em>crumble()</em> after <em>stackUp()</em> has run. </p>
  
  <p>I have tried setting an event-order with <em>pagechange</em> vs. <em>pagebeforeshow</em> like this:</p>
  
  <pre><code>$('div:jqmData(role="page")').bind( "pagechange", function( event, data) {
     stackUp(event, data);
  });
  
  $('div:jqmData(role="page")').live('pagebeforeshow', function(event, data){
       crumble(event, data, $(this) );
  });
  </code></pre>
  
  <p>Doesn't work and <em>setTimeout</em> like this:</p>
  
  <pre><code>$('div:jqmData(role="page")').live('pagebeforeshow', function(event, data){
       window.setTimeout(function (event, data, $(this)) {
         crumble(event, data, $(this) );
       },500);
  });
  </code></pre>
  
  <p>makes $(this) <em>undefined</em>, so this also doesn't help either.</p>
  
  <p><strong>Question</strong>:<br>
  How can I make sure <em>crumble</em> fires when <em>stackup</em> is done?<br>
  Is $(this) becoming undefined, because it's window.setTimeout() (and not $(this).setTimeout)?<br>
  What's the correct event-order in jquery-mobile?</p>
  
  <p>Big THANKS! for help. </p>