
  
  

  


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="chrome=1">
        <title>jquery.livequery.js at master from brandonaaron's livequery - GitHub</title>
    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />
    <link rel="fluid-icon" href="http://github.com/fluidicon.png" title="GitHub" />

    <link href="http://assets1.github.com/stylesheets/bundle_common.css?1d34fa7cbc52f5e93941a615598e011ef63acb5b" media="screen" rel="stylesheet" type="text/css" />
<link href="http://assets0.github.com/stylesheets/bundle_github.css?1d34fa7cbc52f5e93941a615598e011ef63acb5b" media="screen" rel="stylesheet" type="text/css" />

    <script type="text/javascript" charset="utf-8">
      var GitHub = {}
      var github_user = null
    </script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>
    <script src="http://assets3.github.com/javascripts/bundle_common.js?1d34fa7cbc52f5e93941a615598e011ef63acb5b" type="text/javascript"></script>
<script src="http://assets3.github.com/javascripts/bundle_github.js?1d34fa7cbc52f5e93941a615598e011ef63acb5b" type="text/javascript"></script>

        <script type="text/javascript" charset="utf-8">
      GitHub.spy({
        repo: "brandonaaron/livequery"
      })
    </script>

    
  
    
  

  <link href="http://github.com/feeds/brandonaaron/commits/livequery/master" rel="alternate" title="Recent Commits to livequery:master" type="application/atom+xml" />

    <meta name="description" content="Live Query utilizes the power of jQuery selectors by binding events or firing callbacks for matched elements auto-magically, even after the page has been loaded and the DOM updated." />
    <script type="text/javascript">
      GitHub.nameWithOwner = GitHub.nameWithOwner || "brandonaaron/livequery";
      GitHub.currentRef = "master";
    </script>
  

            <script type="text/javascript">
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-3769691-2']);
      _gaq.push(['_trackPageview']);
      (function() {
        var ga = document.createElement('script');
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        ga.setAttribute('async', 'true');
        document.documentElement.firstChild.appendChild(ga);
      })();
    </script>

  </head>

  

  <body>
    

    

    <div class="subnavd" id="main">
      <div id="header" class="pageheaded">
        <div class="site">
          <div class="logo">
            <a href="http://github.com"><img src="/images/modules/header/logov3.png" alt="github" /></a>
          </div>
          
          <div class="topsearch">
  
    <form action="/search" id="top_search_form" method="get">
      <a href="/search" class="advanced-search tooltipped downwards" title="Advanced Search">Advanced Search</a>
      <input type="search" class="search repo_autocompleter" name="q" results="5" placeholder="Search GitHub&hellip;" /> <input type="submit" value="Search", class="button" />
      <input type="hidden" name="type" value="Everything" />
      <input type="hidden" name="repo" value="" />
      <input type="hidden" name="langOverride" value="" />
      <input type="hidden" name="start_value" value="1" />
    </form>
  
  
    <ul class="nav logged_out">
      
        <li><a href="http://github.com">Home</a></li>
        <li class="pricing"><a href="/plans">Pricing and Signup</a></li>
        <li><a href="http://github.com/explore">Explore GitHub</a></li>
        
        <li><a href="/blog">Blog</a></li>
      
      <li><a href="https://github.com/login">Login</a></li>
    </ul>
  
</div>
        </div>
      </div>

      
      
        
    <div class="site">
      <div class="pagehead repohead vis-public">
        <h1>
          <a href="/brandonaaron">brandonaaron</a> / <strong><a href="http://github.com/brandonaaron/livequery">livequery</a></strong>
          
          
        </h1>

        
    <ul class="actions">
      
      
        <li class="for-owner" style="display:none"><a href="https://github.com/brandonaaron/livequery/edit" class="minibutton btn-admin "><span><span class="icon"></span>Admin</span></a></li>
        <li>
          <a href="/brandonaaron/livequery/toggle_watch" class="minibutton btn-watch " id="watch_button" style="display:none"><span><span class="icon"></span>Watch</span></a>
          <a href="/brandonaaron/livequery/toggle_watch" btn_class="watch" class="minibutton btn-watch " id="unwatch_button" style="display:none"><span><span class="icon"></span>Unwatch</span></a>
        </li>
        
          <li class="for-notforked" style="display:none"><a href="/brandonaaron/livequery/fork" class="minibutton btn-fork " id="fork_button" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', '8846a5c451b09790d261ec6dcab4265a2aa523fb'); f.appendChild(s);f.submit();return false;"><span><span class="icon"></span>Fork</span></a></li>
          <li class="for-hasfork" style="display:none"><a href="#" btn_class="fork" class="minibutton btn-fork " id="your_fork_button"><span><span class="icon"></span>Your Fork</span></a></li>
          <li id="pull_request_item" style="display:none"><a href="/brandonaaron/livequery/pull_request/" class="minibutton btn-pull-request "><span><span class="icon"></span>Pull Request</span></a></li>
          <li><a href="#" btn_class="download" class="minibutton btn-download " id="download_button"><span><span class="icon"></span>Download Source</span></a></li>
        
      
      <li class="repostats">
        <ul class="repo-stats">
          <li class="watchers"><a href="/brandonaaron/livequery/watchers" title="Watchers" class="tooltipped downwards">86</a></li>
          <li class="forks"><a href="/brandonaaron/livequery/network" title="Forks" class="tooltipped downwards">2</a></li>
        </ul>
      </li>
    </ul>


        <ul class="tabs">
  <li><a href="http://github.com/brandonaaron/livequery/tree/master" class="selected" highlight="repo_source">Source</a></li>
  <li><a href="http://github.com/brandonaaron/livequery/commits/master" class="false" highlight="repo_commits">Commits</a></li>

  
  <li><a href="/brandonaaron/livequery/network" class="false" highlight="repo_network">Network (2)</a></li>

  

  
    
    <li><a href="/brandonaaron/livequery/issues" class="false" highlight="issues">Issues (2)</a></li>
  

  
    
    <li><a href="/brandonaaron/livequery/downloads" class="false">Downloads (0)</a></li>
  

  
    
    <li><a href="http://wiki.github.com/brandonaaron/livequery/" class="false">Wiki (1)</a></li>
  

  <li><a href="/brandonaaron/livequery/graphs" class="false" highlight="repo_graphs">Graphs</a></li>

  <li class="contextswitch nochoices">
    <span class="toggle leftwards" >
      <em>Branch:</em>
      <code>master</code>
    </span>
  </li>
</ul>

<div class="subnav-bar">
  
  <ul>
    <li>
      <a href="#" class="dropdown">Branches (1)</a>
      <ul>
        
          
            <li><strong>master &#x2713;</strong></li>
            
      </ul>
    </li>
    <li>
      <a href="#" class="dropdown defunct">Tags (0)</a>
      
    </li>
  </ul>
</div>







        
    <div id="repo_details" class="metabox clearfix ">
      <div id="repo_details_loader" class="metabox-loader" style="display:none">Sending Request&hellip;</div>

      
      
        <div class="pledgie">
          <a href='http://pledgie.com/campaigns/1843'><img alt='Click here to lend your support to: livequery and make a donation at www.pledgie.com !' src='http://www.pledgie.com/campaigns/1843.png?skin_name=chrome' border='0' /></a>
          <a href="#pledgie_box" rel="facebox" class="for-owner edit-pledgie" style="display:none">Edit Pledgie Setup</a>
        </div>
      

      <div id="pledgie_box" style="display:none">
        <h2>Pledgie Donations</h2>
        <form action="/brandonaaron/livequery/edit/donate" method="post"><div style="margin:0;padding:0"><input name="authenticity_token" type="hidden" value="8846a5c451b09790d261ec6dcab4265a2aa523fb" /></div>
          <dl class="form miniform">
            <dt><label>Paypal Email</label></dt>
            <dd><input type="text" id="paypal" name="paypal" /></dd>
          </dl>
          <div class="form-actions">
            
              <button type="submit" class="minibutton cancel danger"><span>Deactivate Donations</span></button>
            
            <button type="submit" class="minibutton"><span>Edit Email</span></button>
          </div>
        </form>
        <div class="rule"></div>
        Once activated, we'll place the following badge in your repository's detail box:
        <div style="text-align:center">
          <img alt="Pledgie_example" src="http://assets0.github.com/images/modules/pagehead/pledgie_example.jpg?1d34fa7cbc52f5e93941a615598e011ef63acb5b" />
        </div>
        This service is courtesy of <a href="http://pledgie.com">Pledgie</a>.
      </div>

      <div id="repository_description" rel="repository_description_edit">
        
          <p>Live Query utilizes the power of jQuery selectors by binding events or firing callbacks for matched elements auto-magically, even after the page has been loaded and the DOM updated.
            <span id="read_more" style="display:none">&mdash; <a href="#readme">Read more</a></span>
          </p>
        
      </div>
      <div id="repository_description_edit" style="display:none;" class="inline-edit">
        <form action="/brandonaaron/livequery/edit/update" method="post"><div style="margin:0;padding:0"><input name="authenticity_token" type="hidden" value="8846a5c451b09790d261ec6dcab4265a2aa523fb" /></div>
          <input type="hidden" name="field" value="repository_description">
          <input type="text" class="textfield" name="value" value="Live Query utilizes the power of jQuery selectors by binding events or firing callbacks for matched elements auto-magically, even after the page has been loaded and the DOM updated.">
          <div class="form-actions">
            <button class="minibutton"><span>Save</span></button> or <a href="#" class="cancel">cancel</a>
          </div>
        </form>
      </div>

      
        
        <div class="repository-homepage" id="repository_homepage" rel="repository_homepage_edit">
          <p><a href="http://plugins.jquery.com/project/livequery" rel="nofollow">http://plugins.jquery.com/project/livequery</a></p>
        </div>
        <div id="repository_homepage_edit" style="display:none;" class="inline-edit">
          <form action="/brandonaaron/livequery/edit/update" method="post"><div style="margin:0;padding:0"><input name="authenticity_token" type="hidden" value="8846a5c451b09790d261ec6dcab4265a2aa523fb" /></div>
            <input type="hidden" name="field" value="repository_homepage">
            <input type="text" class="textfield" name="value" value="http://plugins.jquery.com/project/livequery">
            <div class="form-actions">
              <button class="minibutton"><span>Save</span></button> or <a href="#" class="cancel">cancel</a>
            </div>
          </form>
        </div>
      

      
        <div class="rule "></div>

        <div id="url_box" class="url-box">
          <ul class="clone-urls">
            <li id="private_clone_url" style="display:none"><a href="git@github.com:brandonaaron/livequery.git" data-permissions="Read+Write">Private</a></li>
            
              <li id="public_clone_url"><a href="git://github.com/brandonaaron/livequery.git" data-permissions="Read-Only">Read-Only</a></li>
              <li id="http_clone_url"><a href="http://github.com/brandonaaron/livequery.git" data-permissions="Read-Only">HTTP Read-Only</a></li>
            
          </ul>
          <input type="text" spellcheck="false" id="url_field" class="url-field" />
                <span style="display:none" id="url_box_clippy"></span>
      <span id="clippy_tooltip_url_box_clippy" class="clippy-tooltip tooltipped" title="copy to clipboard">
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
              width="14"
              height="14"
              class="clippy"
              id="clippy" >
      <param name="movie" value="/flash/clippy.swf?v5"/>
      <param name="allowScriptAccess" value="always" />
      <param name="quality" value="high" />
      <param name="scale" value="noscale" />
      <param NAME="FlashVars" value="id=url_box_clippy&amp;copied=&amp;copyto=">
      <param name="bgcolor" value="#FFFFFF">
      <param name="wmode" value="opaque">
      <embed src="/flash/clippy.swf?v5"
             width="14"
             height="14"
             name="clippy"
             quality="high"
             allowScriptAccess="always"
             type="application/x-shockwave-flash"
             pluginspage="http://www.macromedia.com/go/getflashplayer"
             FlashVars="id=url_box_clippy&amp;copied=&amp;copyto="
             bgcolor="#FFFFFF"
             wmode="opaque"
      />
      </object>
      </span>

          <p id="url_description">This URL has <strong>Read+Write</strong> access</p>
        </div>
      
    </div>


      </div><!-- /.pagehead -->

      









<script type="text/javascript">
  GitHub.currentCommitRef = "master"
  GitHub.currentRepoOwner = "brandonaaron"
  GitHub.currentRepo = "livequery"
  GitHub.downloadRepo = '/brandonaaron/livequery/archives/master'
  
</script>










  <div id="commit">
    <div class="group">
        
  <div class="envelope commit">
    <div class="human">
      
        <div class="message"><pre><a href="/brandonaaron/livequery/commit/e634549f1e13b5418fb8d75572866846a332ec8d">better integration with jQuery 1.3, older versions of jQuery are no longer 
supported</a> </pre></div>
      

      <div class="actor">
        <div class="gravatar">
          
          <img alt="" height="30" src="http://www.gravatar.com/avatar/5caa0660a37102fb758ebff952d936d9?s=30&amp;d=http%3A%2F%2Fgithub.com%2Fimages%2Fgravatars%2Fgravatar-30.png" width="30" />
        </div>
        <div class="name"><a href="/brandonaaron">brandonaaron</a> <span>(author)</span></div>
        <div class="date">
          <abbr class="relatize" title="2009-01-12 19:51:34">Mon Jan 12 19:51:34 -0800 2009</abbr>
        </div>
      </div>

      

    </div>
    <div class="machine">
      <span>c</span>ommit&nbsp;&nbsp;<a href="/brandonaaron/livequery/commit/e634549f1e13b5418fb8d75572866846a332ec8d" hotkey="c">e634549f1e13b5418fb8d75572866846a332ec8d</a><br />
      <span>t</span>ree&nbsp;&nbsp;&nbsp;&nbsp;<a href="/brandonaaron/livequery/tree/e634549f1e13b5418fb8d75572866846a332ec8d" hotkey="t">773cfa4ee17e5dd6d9cfaa4db962e219128f4780</a><br />

      
        <span>p</span>arent&nbsp;
        
        <a href="/brandonaaron/livequery/tree/2f1a1af282e06292faae3a779fdb9f26ebbb8e47" hotkey="p">2f1a1af282e06292faae3a779fdb9f26ebbb8e47</a>
      

    </div>
  </div>

    </div>
  </div>



  
    <div id="path">
      <b><a href="/brandonaaron/livequery/tree/master">livequery</a></b> / jquery.livequery.js       <span style="display:none" id="clippy_3890">jquery.livequery.js</span>
      
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
              width="110"
              height="14"
              class="clippy"
              id="clippy" >
      <param name="movie" value="/flash/clippy.swf?v5"/>
      <param name="allowScriptAccess" value="always" />
      <param name="quality" value="high" />
      <param name="scale" value="noscale" />
      <param NAME="FlashVars" value="id=clippy_3890&amp;copied=copied!&amp;copyto=copy to clipboard">
      <param name="bgcolor" value="#FFFFFF">
      <param name="wmode" value="opaque">
      <embed src="/flash/clippy.swf?v5"
             width="110"
             height="14"
             name="clippy"
             quality="high"
             allowScriptAccess="always"
             type="application/x-shockwave-flash"
             pluginspage="http://www.macromedia.com/go/getflashplayer"
             FlashVars="id=clippy_3890&amp;copied=copied!&amp;copyto=copy to clipboard"
             bgcolor="#FFFFFF"
             wmode="opaque"
      />
      </object>
      

    </div>

    <div id="files">
      <div class="file">
        <div class="meta">
          <div class="info">
            <span>100644</span>
            <span>226 lines (185 sloc)</span>
            <span>5.933 kb</span>
          </div>
          <div class="actions">
            
              <a style="display:none;" id="file-edit-link" href="#" rel="/brandonaaron/livequery/file-edit/__ref__/jquery.livequery.js">edit</a>
            
            <a href="/brandonaaron/livequery/raw/master/jquery.livequery.js" id="raw-url">raw</a>
            
              <a href="/brandonaaron/livequery/blame/master/jquery.livequery.js">blame</a>
            
            <a href="/brandonaaron/livequery/commits/master/jquery.livequery.js">history</a>
          </div>
        </div>
        
  <div class="data syntax type-js">
    
      <table cellpadding="0" cellspacing="0">
        <tr>
          <td>
            
            <pre class="line_numbers">
<span id="LID1" rel="#L1">1</span>
<span id="LID2" rel="#L2">2</span>
<span id="LID3" rel="#L3">3</span>
<span id="LID4" rel="#L4">4</span>
<span id="LID5" rel="#L5">5</span>
<span id="LID6" rel="#L6">6</span>
<span id="LID7" rel="#L7">7</span>
<span id="LID8" rel="#L8">8</span>
<span id="LID9" rel="#L9">9</span>
<span id="LID10" rel="#L10">10</span>
<span id="LID11" rel="#L11">11</span>
<span id="LID12" rel="#L12">12</span>
<span id="LID13" rel="#L13">13</span>
<span id="LID14" rel="#L14">14</span>
<span id="LID15" rel="#L15">15</span>
<span id="LID16" rel="#L16">16</span>
<span id="LID17" rel="#L17">17</span>
<span id="LID18" rel="#L18">18</span>
<span id="LID19" rel="#L19">19</span>
<span id="LID20" rel="#L20">20</span>
<span id="LID21" rel="#L21">21</span>
<span id="LID22" rel="#L22">22</span>
<span id="LID23" rel="#L23">23</span>
<span id="LID24" rel="#L24">24</span>
<span id="LID25" rel="#L25">25</span>
<span id="LID26" rel="#L26">26</span>
<span id="LID27" rel="#L27">27</span>
<span id="LID28" rel="#L28">28</span>
<span id="LID29" rel="#L29">29</span>
<span id="LID30" rel="#L30">30</span>
<span id="LID31" rel="#L31">31</span>
<span id="LID32" rel="#L32">32</span>
<span id="LID33" rel="#L33">33</span>
<span id="LID34" rel="#L34">34</span>
<span id="LID35" rel="#L35">35</span>
<span id="LID36" rel="#L36">36</span>
<span id="LID37" rel="#L37">37</span>
<span id="LID38" rel="#L38">38</span>
<span id="LID39" rel="#L39">39</span>
<span id="LID40" rel="#L40">40</span>
<span id="LID41" rel="#L41">41</span>
<span id="LID42" rel="#L42">42</span>
<span id="LID43" rel="#L43">43</span>
<span id="LID44" rel="#L44">44</span>
<span id="LID45" rel="#L45">45</span>
<span id="LID46" rel="#L46">46</span>
<span id="LID47" rel="#L47">47</span>
<span id="LID48" rel="#L48">48</span>
<span id="LID49" rel="#L49">49</span>
<span id="LID50" rel="#L50">50</span>
<span id="LID51" rel="#L51">51</span>
<span id="LID52" rel="#L52">52</span>
<span id="LID53" rel="#L53">53</span>
<span id="LID54" rel="#L54">54</span>
<span id="LID55" rel="#L55">55</span>
<span id="LID56" rel="#L56">56</span>
<span id="LID57" rel="#L57">57</span>
<span id="LID58" rel="#L58">58</span>
<span id="LID59" rel="#L59">59</span>
<span id="LID60" rel="#L60">60</span>
<span id="LID61" rel="#L61">61</span>
<span id="LID62" rel="#L62">62</span>
<span id="LID63" rel="#L63">63</span>
<span id="LID64" rel="#L64">64</span>
<span id="LID65" rel="#L65">65</span>
<span id="LID66" rel="#L66">66</span>
<span id="LID67" rel="#L67">67</span>
<span id="LID68" rel="#L68">68</span>
<span id="LID69" rel="#L69">69</span>
<span id="LID70" rel="#L70">70</span>
<span id="LID71" rel="#L71">71</span>
<span id="LID72" rel="#L72">72</span>
<span id="LID73" rel="#L73">73</span>
<span id="LID74" rel="#L74">74</span>
<span id="LID75" rel="#L75">75</span>
<span id="LID76" rel="#L76">76</span>
<span id="LID77" rel="#L77">77</span>
<span id="LID78" rel="#L78">78</span>
<span id="LID79" rel="#L79">79</span>
<span id="LID80" rel="#L80">80</span>
<span id="LID81" rel="#L81">81</span>
<span id="LID82" rel="#L82">82</span>
<span id="LID83" rel="#L83">83</span>
<span id="LID84" rel="#L84">84</span>
<span id="LID85" rel="#L85">85</span>
<span id="LID86" rel="#L86">86</span>
<span id="LID87" rel="#L87">87</span>
<span id="LID88" rel="#L88">88</span>
<span id="LID89" rel="#L89">89</span>
<span id="LID90" rel="#L90">90</span>
<span id="LID91" rel="#L91">91</span>
<span id="LID92" rel="#L92">92</span>
<span id="LID93" rel="#L93">93</span>
<span id="LID94" rel="#L94">94</span>
<span id="LID95" rel="#L95">95</span>
<span id="LID96" rel="#L96">96</span>
<span id="LID97" rel="#L97">97</span>
<span id="LID98" rel="#L98">98</span>
<span id="LID99" rel="#L99">99</span>
<span id="LID100" rel="#L100">100</span>
<span id="LID101" rel="#L101">101</span>
<span id="LID102" rel="#L102">102</span>
<span id="LID103" rel="#L103">103</span>
<span id="LID104" rel="#L104">104</span>
<span id="LID105" rel="#L105">105</span>
<span id="LID106" rel="#L106">106</span>
<span id="LID107" rel="#L107">107</span>
<span id="LID108" rel="#L108">108</span>
<span id="LID109" rel="#L109">109</span>
<span id="LID110" rel="#L110">110</span>
<span id="LID111" rel="#L111">111</span>
<span id="LID112" rel="#L112">112</span>
<span id="LID113" rel="#L113">113</span>
<span id="LID114" rel="#L114">114</span>
<span id="LID115" rel="#L115">115</span>
<span id="LID116" rel="#L116">116</span>
<span id="LID117" rel="#L117">117</span>
<span id="LID118" rel="#L118">118</span>
<span id="LID119" rel="#L119">119</span>
<span id="LID120" rel="#L120">120</span>
<span id="LID121" rel="#L121">121</span>
<span id="LID122" rel="#L122">122</span>
<span id="LID123" rel="#L123">123</span>
<span id="LID124" rel="#L124">124</span>
<span id="LID125" rel="#L125">125</span>
<span id="LID126" rel="#L126">126</span>
<span id="LID127" rel="#L127">127</span>
<span id="LID128" rel="#L128">128</span>
<span id="LID129" rel="#L129">129</span>
<span id="LID130" rel="#L130">130</span>
<span id="LID131" rel="#L131">131</span>
<span id="LID132" rel="#L132">132</span>
<span id="LID133" rel="#L133">133</span>
<span id="LID134" rel="#L134">134</span>
<span id="LID135" rel="#L135">135</span>
<span id="LID136" rel="#L136">136</span>
<span id="LID137" rel="#L137">137</span>
<span id="LID138" rel="#L138">138</span>
<span id="LID139" rel="#L139">139</span>
<span id="LID140" rel="#L140">140</span>
<span id="LID141" rel="#L141">141</span>
<span id="LID142" rel="#L142">142</span>
<span id="LID143" rel="#L143">143</span>
<span id="LID144" rel="#L144">144</span>
<span id="LID145" rel="#L145">145</span>
<span id="LID146" rel="#L146">146</span>
<span id="LID147" rel="#L147">147</span>
<span id="LID148" rel="#L148">148</span>
<span id="LID149" rel="#L149">149</span>
<span id="LID150" rel="#L150">150</span>
<span id="LID151" rel="#L151">151</span>
<span id="LID152" rel="#L152">152</span>
<span id="LID153" rel="#L153">153</span>
<span id="LID154" rel="#L154">154</span>
<span id="LID155" rel="#L155">155</span>
<span id="LID156" rel="#L156">156</span>
<span id="LID157" rel="#L157">157</span>
<span id="LID158" rel="#L158">158</span>
<span id="LID159" rel="#L159">159</span>
<span id="LID160" rel="#L160">160</span>
<span id="LID161" rel="#L161">161</span>
<span id="LID162" rel="#L162">162</span>
<span id="LID163" rel="#L163">163</span>
<span id="LID164" rel="#L164">164</span>
<span id="LID165" rel="#L165">165</span>
<span id="LID166" rel="#L166">166</span>
<span id="LID167" rel="#L167">167</span>
<span id="LID168" rel="#L168">168</span>
<span id="LID169" rel="#L169">169</span>
<span id="LID170" rel="#L170">170</span>
<span id="LID171" rel="#L171">171</span>
<span id="LID172" rel="#L172">172</span>
<span id="LID173" rel="#L173">173</span>
<span id="LID174" rel="#L174">174</span>
<span id="LID175" rel="#L175">175</span>
<span id="LID176" rel="#L176">176</span>
<span id="LID177" rel="#L177">177</span>
<span id="LID178" rel="#L178">178</span>
<span id="LID179" rel="#L179">179</span>
<span id="LID180" rel="#L180">180</span>
<span id="LID181" rel="#L181">181</span>
<span id="LID182" rel="#L182">182</span>
<span id="LID183" rel="#L183">183</span>
<span id="LID184" rel="#L184">184</span>
<span id="LID185" rel="#L185">185</span>
<span id="LID186" rel="#L186">186</span>
<span id="LID187" rel="#L187">187</span>
<span id="LID188" rel="#L188">188</span>
<span id="LID189" rel="#L189">189</span>
<span id="LID190" rel="#L190">190</span>
<span id="LID191" rel="#L191">191</span>
<span id="LID192" rel="#L192">192</span>
<span id="LID193" rel="#L193">193</span>
<span id="LID194" rel="#L194">194</span>
<span id="LID195" rel="#L195">195</span>
<span id="LID196" rel="#L196">196</span>
<span id="LID197" rel="#L197">197</span>
<span id="LID198" rel="#L198">198</span>
<span id="LID199" rel="#L199">199</span>
<span id="LID200" rel="#L200">200</span>
<span id="LID201" rel="#L201">201</span>
<span id="LID202" rel="#L202">202</span>
<span id="LID203" rel="#L203">203</span>
<span id="LID204" rel="#L204">204</span>
<span id="LID205" rel="#L205">205</span>
<span id="LID206" rel="#L206">206</span>
<span id="LID207" rel="#L207">207</span>
<span id="LID208" rel="#L208">208</span>
<span id="LID209" rel="#L209">209</span>
<span id="LID210" rel="#L210">210</span>
<span id="LID211" rel="#L211">211</span>
<span id="LID212" rel="#L212">212</span>
<span id="LID213" rel="#L213">213</span>
<span id="LID214" rel="#L214">214</span>
<span id="LID215" rel="#L215">215</span>
<span id="LID216" rel="#L216">216</span>
<span id="LID217" rel="#L217">217</span>
<span id="LID218" rel="#L218">218</span>
<span id="LID219" rel="#L219">219</span>
<span id="LID220" rel="#L220">220</span>
<span id="LID221" rel="#L221">221</span>
<span id="LID222" rel="#L222">222</span>
<span id="LID223" rel="#L223">223</span>
<span id="LID224" rel="#L224">224</span>
<span id="LID225" rel="#L225">225</span>
<span id="LID226" rel="#L226">226</span>
</pre>
          </td>
          <td width="100%">
            
              <div class="highlight"><pre><div class="line" id="LC1"><span class="cm">/*! Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net)</span></div><div class="line" id="LC2"><span class="cm"> * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)</span></div><div class="line" id="LC3"><span class="cm"> * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.</span></div><div class="line" id="LC4"><span class="cm"> *</span></div><div class="line" id="LC5"><span class="cm"> * Version: 1.1.0-pre</span></div><div class="line" id="LC6"><span class="cm"> * Requires jQuery 1.3+</span></div><div class="line" id="LC7"><span class="cm"> * Docs: http://docs.jquery.com/Plugins/livequery</span></div><div class="line" id="LC8"><span class="cm"> */</span></div><div class="line" id="LC9">&nbsp;</div><div class="line" id="LC10"><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">$</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC11">&nbsp;</div><div class="line" id="LC12"><span class="nx">$</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">,</span> <span class="p">{</span></div><div class="line" id="LC13">	<span class="nx">livequery</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">type</span><span class="p">,</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">fn2</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC14">		<span class="kd">var</span> <span class="nx">self</span> <span class="o">=</span> <span class="k">this</span><span class="p">,</span> <span class="nx">q</span><span class="p">;</span></div><div class="line" id="LC15">&nbsp;</div><div class="line" id="LC16">		<span class="c1">// Handle different call patterns</span></div><div class="line" id="LC17">		<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">type</span><span class="p">))</span></div><div class="line" id="LC18">			<span class="nx">fn2</span> <span class="o">=</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">fn</span> <span class="o">=</span> <span class="nx">type</span><span class="p">,</span> <span class="nx">type</span> <span class="o">=</span> <span class="kc">undefined</span><span class="p">;</span></div><div class="line" id="LC19">&nbsp;</div><div class="line" id="LC20">		<span class="c1">// See if Live Query already exists</span></div><div class="line" id="LC21">		<span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queries</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">i</span><span class="p">,</span> <span class="nx">query</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC22">			<span class="k">if</span> <span class="p">(</span> <span class="nx">self</span><span class="p">.</span><span class="nx">selector</span> <span class="o">==</span> <span class="nx">query</span><span class="p">.</span><span class="nx">selector</span> <span class="o">&amp;&amp;</span> <span class="nx">self</span><span class="p">.</span><span class="nx">context</span> <span class="o">==</span> <span class="nx">query</span><span class="p">.</span><span class="nx">context</span> <span class="o">&amp;&amp;</span></div><div class="line" id="LC23">				<span class="nx">type</span> <span class="o">==</span> <span class="nx">query</span><span class="p">.</span><span class="nx">type</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="o">!</span><span class="nx">fn</span> <span class="o">||</span> <span class="nx">fn</span><span class="p">.</span><span class="nx">$lqguid</span> <span class="o">==</span> <span class="nx">query</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">$lqguid</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="o">!</span><span class="nx">fn2</span> <span class="o">||</span> <span class="nx">fn2</span><span class="p">.</span><span class="nx">$lqguid</span> <span class="o">==</span> <span class="nx">query</span><span class="p">.</span><span class="nx">fn2</span><span class="p">.</span><span class="nx">$lqguid</span><span class="p">)</span> <span class="p">)</span></div><div class="line" id="LC24">					<span class="c1">// Found the query, exit the each loop</span></div><div class="line" id="LC25">					<span class="k">return</span> <span class="p">(</span><span class="nx">q</span> <span class="o">=</span> <span class="nx">query</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="kc">false</span><span class="p">;</span></div><div class="line" id="LC26">		<span class="p">});</span></div><div class="line" id="LC27">&nbsp;</div><div class="line" id="LC28">		<span class="c1">// Create new Live Query if it wasn&#39;t found</span></div><div class="line" id="LC29">		<span class="nx">q</span> <span class="o">=</span> <span class="nx">q</span> <span class="o">||</span> <span class="k">new</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">selector</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">context</span><span class="p">,</span> <span class="nx">type</span><span class="p">,</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">fn2</span><span class="p">);</span></div><div class="line" id="LC30">&nbsp;</div><div class="line" id="LC31">		<span class="c1">// Make sure it is running</span></div><div class="line" id="LC32">		<span class="nx">q</span><span class="p">.</span><span class="nx">stopped</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class="line" id="LC33">&nbsp;</div><div class="line" id="LC34">		<span class="c1">// Run it immediately for the first time</span></div><div class="line" id="LC35">		<span class="nx">q</span><span class="p">.</span><span class="nx">run</span><span class="p">();</span></div><div class="line" id="LC36">&nbsp;</div><div class="line" id="LC37">		<span class="c1">// Contnue the chain</span></div><div class="line" id="LC38">		<span class="k">return</span> <span class="k">this</span><span class="p">;</span></div><div class="line" id="LC39">	<span class="p">},</span></div><div class="line" id="LC40">&nbsp;</div><div class="line" id="LC41">	<span class="nx">expire</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">type</span><span class="p">,</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">fn2</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC42">		<span class="kd">var</span> <span class="nx">self</span> <span class="o">=</span> <span class="k">this</span><span class="p">;</span></div><div class="line" id="LC43">&nbsp;</div><div class="line" id="LC44">		<span class="c1">// Handle different call patterns</span></div><div class="line" id="LC45">		<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">type</span><span class="p">))</span></div><div class="line" id="LC46">			<span class="nx">fn2</span> <span class="o">=</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">fn</span> <span class="o">=</span> <span class="nx">type</span><span class="p">,</span> <span class="nx">type</span> <span class="o">=</span> <span class="kc">undefined</span><span class="p">;</span></div><div class="line" id="LC47">&nbsp;</div><div class="line" id="LC48">		<span class="c1">// Find the Live Query based on arguments and stop it</span></div><div class="line" id="LC49">		<span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queries</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">i</span><span class="p">,</span> <span class="nx">query</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC50">			<span class="k">if</span> <span class="p">(</span> <span class="nx">self</span><span class="p">.</span><span class="nx">selector</span> <span class="o">==</span> <span class="nx">query</span><span class="p">.</span><span class="nx">selector</span> <span class="o">&amp;&amp;</span> <span class="nx">self</span><span class="p">.</span><span class="nx">context</span> <span class="o">==</span> <span class="nx">query</span><span class="p">.</span><span class="nx">context</span> <span class="o">&amp;&amp;</span></div><div class="line" id="LC51">				<span class="p">(</span><span class="o">!</span><span class="nx">type</span> <span class="o">||</span> <span class="nx">type</span> <span class="o">==</span> <span class="nx">query</span><span class="p">.</span><span class="nx">type</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="o">!</span><span class="nx">fn</span> <span class="o">||</span> <span class="nx">fn</span><span class="p">.</span><span class="nx">$lqguid</span> <span class="o">==</span> <span class="nx">query</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">$lqguid</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="o">!</span><span class="nx">fn2</span> <span class="o">||</span> <span class="nx">fn2</span><span class="p">.</span><span class="nx">$lqguid</span> <span class="o">==</span> <span class="nx">query</span><span class="p">.</span><span class="nx">fn2</span><span class="p">.</span><span class="nx">$lqguid</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">stopped</span> <span class="p">)</span></div><div class="line" id="LC52">					<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">stop</span><span class="p">(</span><span class="nx">query</span><span class="p">.</span><span class="nx">id</span><span class="p">);</span></div><div class="line" id="LC53">		<span class="p">});</span></div><div class="line" id="LC54">&nbsp;</div><div class="line" id="LC55">		<span class="c1">// Continue the chain</span></div><div class="line" id="LC56">		<span class="k">return</span> <span class="k">this</span><span class="p">;</span></div><div class="line" id="LC57">	<span class="p">}</span></div><div class="line" id="LC58"><span class="p">});</span></div><div class="line" id="LC59">&nbsp;</div><div class="line" id="LC60"><span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">selector</span><span class="p">,</span> <span class="nx">context</span><span class="p">,</span> <span class="nx">type</span><span class="p">,</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">fn2</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC61">	<span class="k">this</span><span class="p">.</span><span class="nx">selector</span> <span class="o">=</span> <span class="nx">selector</span><span class="p">;</span></div><div class="line" id="LC62">	<span class="k">this</span><span class="p">.</span><span class="nx">context</span>  <span class="o">=</span> <span class="nx">context</span><span class="p">;</span></div><div class="line" id="LC63">	<span class="k">this</span><span class="p">.</span><span class="nx">type</span>     <span class="o">=</span> <span class="nx">type</span><span class="p">;</span></div><div class="line" id="LC64">	<span class="k">this</span><span class="p">.</span><span class="nx">fn</span>       <span class="o">=</span> <span class="nx">fn</span><span class="p">;</span></div><div class="line" id="LC65">	<span class="k">this</span><span class="p">.</span><span class="nx">fn2</span>      <span class="o">=</span> <span class="nx">fn2</span><span class="p">;</span></div><div class="line" id="LC66">	<span class="k">this</span><span class="p">.</span><span class="nx">elements</span> <span class="o">=</span> <span class="p">[];</span></div><div class="line" id="LC67">	<span class="k">this</span><span class="p">.</span><span class="nx">stopped</span>  <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class="line" id="LC68">&nbsp;</div><div class="line" id="LC69">	<span class="c1">// The id is the index of the Live Query in $.livequery.queries</span></div><div class="line" id="LC70">	<span class="k">this</span><span class="p">.</span><span class="nx">id</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queries</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="k">this</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">;</span></div><div class="line" id="LC71">&nbsp;</div><div class="line" id="LC72">	<span class="c1">// Mark the functions for matching later on</span></div><div class="line" id="LC73">	<span class="nx">fn</span><span class="p">.</span><span class="nx">$lqguid</span> <span class="o">=</span> <span class="nx">fn</span><span class="p">.</span><span class="nx">$lqguid</span> <span class="o">||</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">guid</span><span class="o">++</span><span class="p">;</span></div><div class="line" id="LC74">	<span class="k">if</span> <span class="p">(</span><span class="nx">fn2</span><span class="p">)</span> <span class="nx">fn2</span><span class="p">.</span><span class="nx">$lqguid</span> <span class="o">=</span> <span class="nx">fn2</span><span class="p">.</span><span class="nx">$lqguid</span> <span class="o">||</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">guid</span><span class="o">++</span><span class="p">;</span></div><div class="line" id="LC75">&nbsp;</div><div class="line" id="LC76">	<span class="c1">// Return the Live Query</span></div><div class="line" id="LC77">	<span class="k">return</span> <span class="k">this</span><span class="p">;</span></div><div class="line" id="LC78"><span class="p">};</span></div><div class="line" id="LC79">&nbsp;</div><div class="line" id="LC80"><span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">prototype</span> <span class="o">=</span> <span class="p">{</span></div><div class="line" id="LC81">	<span class="nx">stop</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class="line" id="LC82">		<span class="kd">var</span> <span class="nx">query</span> <span class="o">=</span> <span class="k">this</span><span class="p">;</span></div><div class="line" id="LC83">&nbsp;</div><div class="line" id="LC84">		<span class="k">if</span> <span class="p">(</span> <span class="k">this</span><span class="p">.</span><span class="nx">type</span> <span class="p">)</span></div><div class="line" id="LC85">			<span class="c1">// Unbind all bound events</span></div><div class="line" id="LC86">			<span class="k">this</span><span class="p">.</span><span class="nx">elements</span><span class="p">.</span><span class="nx">unbind</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">type</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">fn</span><span class="p">);</span></div><div class="line" id="LC87">		<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">fn2</span><span class="p">)</span></div><div class="line" id="LC88">			<span class="c1">// Call the second function for all matched elements</span></div><div class="line" id="LC89">			<span class="k">this</span><span class="p">.</span><span class="nx">elements</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">i</span><span class="p">,</span> <span class="nx">el</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC90">				<span class="nx">query</span><span class="p">.</span><span class="nx">fn2</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nx">el</span><span class="p">);</span></div><div class="line" id="LC91">			<span class="p">});</span></div><div class="line" id="LC92">&nbsp;</div><div class="line" id="LC93">		<span class="c1">// Clear out matched elements</span></div><div class="line" id="LC94">		<span class="k">this</span><span class="p">.</span><span class="nx">elements</span> <span class="o">=</span> <span class="p">[];</span></div><div class="line" id="LC95">&nbsp;</div><div class="line" id="LC96">		<span class="c1">// Stop the Live Query from running until restarted</span></div><div class="line" id="LC97">		<span class="k">this</span><span class="p">.</span><span class="nx">stopped</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class="line" id="LC98">	<span class="p">},</span></div><div class="line" id="LC99">&nbsp;</div><div class="line" id="LC100">	<span class="nx">run</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class="line" id="LC101">		<span class="c1">// Short-circuit if stopped</span></div><div class="line" id="LC102">		<span class="k">if</span> <span class="p">(</span> <span class="k">this</span><span class="p">.</span><span class="nx">stopped</span> <span class="p">)</span> <span class="k">return</span><span class="p">;</span></div><div class="line" id="LC103">		<span class="kd">var</span> <span class="nx">query</span> <span class="o">=</span> <span class="k">this</span><span class="p">;</span></div><div class="line" id="LC104">&nbsp;</div><div class="line" id="LC105">		<span class="kd">var</span> <span class="nx">oEls</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">elements</span><span class="p">,</span></div><div class="line" id="LC106">			<span class="nx">els</span>  <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">selector</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">context</span><span class="p">),</span></div><div class="line" id="LC107">			<span class="nx">nEls</span> <span class="o">=</span> <span class="nx">els</span><span class="p">.</span><span class="nx">not</span><span class="p">(</span><span class="nx">oEls</span><span class="p">);</span></div><div class="line" id="LC108">&nbsp;</div><div class="line" id="LC109">		<span class="c1">// Set elements to the latest set of matched elements</span></div><div class="line" id="LC110">		<span class="k">this</span><span class="p">.</span><span class="nx">elements</span> <span class="o">=</span> <span class="nx">els</span><span class="p">;</span></div><div class="line" id="LC111">&nbsp;</div><div class="line" id="LC112">		<span class="k">if</span> <span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">type</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC113">			<span class="c1">// Bind events to newly matched elements</span></div><div class="line" id="LC114">			<span class="nx">nEls</span><span class="p">.</span><span class="nx">bind</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">type</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">fn</span><span class="p">);</span></div><div class="line" id="LC115">&nbsp;</div><div class="line" id="LC116">			<span class="c1">// Unbind events to elements no longer matched</span></div><div class="line" id="LC117">			<span class="k">if</span> <span class="p">(</span><span class="nx">oEls</span><span class="p">.</span><span class="nx">length</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span></div><div class="line" id="LC118">				<span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="nx">oEls</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">i</span><span class="p">,</span> <span class="nx">el</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC119">					<span class="k">if</span> <span class="p">(</span> <span class="nx">$</span><span class="p">.</span><span class="nx">inArray</span><span class="p">(</span><span class="nx">el</span><span class="p">,</span> <span class="nx">els</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span> <span class="p">)</span></div><div class="line" id="LC120">						<span class="nx">$</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">remove</span><span class="p">(</span><span class="nx">el</span><span class="p">,</span> <span class="nx">query</span><span class="p">.</span><span class="nx">type</span><span class="p">,</span> <span class="nx">query</span><span class="p">.</span><span class="nx">fn</span><span class="p">);</span></div><div class="line" id="LC121">				<span class="p">});</span></div><div class="line" id="LC122">		<span class="p">}</span></div><div class="line" id="LC123">		<span class="k">else</span> <span class="p">{</span></div><div class="line" id="LC124">			<span class="c1">// Call the first function for newly matched elements</span></div><div class="line" id="LC125">			<span class="nx">nEls</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class="line" id="LC126">				<span class="nx">query</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="k">this</span><span class="p">);</span></div><div class="line" id="LC127">			<span class="p">});</span></div><div class="line" id="LC128">&nbsp;</div><div class="line" id="LC129">			<span class="c1">// Call the second function for elements no longer matched</span></div><div class="line" id="LC130">			<span class="k">if</span> <span class="p">(</span> <span class="k">this</span><span class="p">.</span><span class="nx">fn2</span> <span class="o">&amp;&amp;</span> <span class="nx">oEls</span><span class="p">.</span><span class="nx">length</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="p">)</span></div><div class="line" id="LC131">				<span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="nx">oEls</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">i</span><span class="p">,</span> <span class="nx">el</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC132">					<span class="k">if</span> <span class="p">(</span> <span class="nx">$</span><span class="p">.</span><span class="nx">inArray</span><span class="p">(</span><span class="nx">el</span><span class="p">,</span> <span class="nx">els</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span> <span class="p">)</span></div><div class="line" id="LC133">						<span class="nx">query</span><span class="p">.</span><span class="nx">fn2</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nx">el</span><span class="p">);</span></div><div class="line" id="LC134">				<span class="p">});</span></div><div class="line" id="LC135">		<span class="p">}</span></div><div class="line" id="LC136">	<span class="p">}</span></div><div class="line" id="LC137"><span class="p">};</span></div><div class="line" id="LC138">&nbsp;</div><div class="line" id="LC139"><span class="nx">$</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">,</span> <span class="p">{</span></div><div class="line" id="LC140">	<span class="nx">guid</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span></div><div class="line" id="LC141">	<span class="nx">queries</span><span class="o">:</span> <span class="p">[],</span></div><div class="line" id="LC142">	<span class="nx">queue</span><span class="o">:</span> <span class="p">[],</span></div><div class="line" id="LC143">	<span class="nx">running</span><span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class="line" id="LC144">	<span class="nx">timeout</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span></div><div class="line" id="LC145">&nbsp;</div><div class="line" id="LC146">	<span class="nx">checkQueue</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class="line" id="LC147">		<span class="k">if</span> <span class="p">(</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">running</span> <span class="o">&amp;&amp;</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queue</span><span class="p">.</span><span class="nx">length</span> <span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC148">			<span class="kd">var</span> <span class="nx">length</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queue</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span></div><div class="line" id="LC149">			<span class="c1">// Run each Live Query currently in the queue</span></div><div class="line" id="LC150">			<span class="k">while</span> <span class="p">(</span> <span class="nx">length</span><span class="o">--</span> <span class="p">)</span></div><div class="line" id="LC151">				<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queries</span><span class="p">[</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queue</span><span class="p">.</span><span class="nx">shift</span><span class="p">()</span> <span class="p">].</span><span class="nx">run</span><span class="p">();</span></div><div class="line" id="LC152">		<span class="p">}</span></div><div class="line" id="LC153">	<span class="p">},</span></div><div class="line" id="LC154">&nbsp;</div><div class="line" id="LC155">	<span class="nx">pause</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class="line" id="LC156">		<span class="c1">// Don&#39;t run anymore Live Queries until restarted</span></div><div class="line" id="LC157">		<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">running</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class="line" id="LC158">	<span class="p">},</span></div><div class="line" id="LC159">&nbsp;</div><div class="line" id="LC160">	<span class="nx">play</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class="line" id="LC161">		<span class="c1">// Restart Live Queries</span></div><div class="line" id="LC162">		<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">running</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class="line" id="LC163">		<span class="c1">// Request a run of the Live Queries</span></div><div class="line" id="LC164">		<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">run</span><span class="p">();</span></div><div class="line" id="LC165">	<span class="p">},</span></div><div class="line" id="LC166">&nbsp;</div><div class="line" id="LC167">	<span class="nx">registerPlugin</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class="line" id="LC168">		<span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span> <span class="nx">arguments</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">i</span><span class="p">,</span><span class="nx">n</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC169">			<span class="c1">// Short-circuit if the method doesn&#39;t exist</span></div><div class="line" id="LC170">			<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">[</span><span class="nx">n</span><span class="p">])</span> <span class="k">return</span><span class="p">;</span></div><div class="line" id="LC171">&nbsp;</div><div class="line" id="LC172">			<span class="c1">// Save a reference to the original method</span></div><div class="line" id="LC173">			<span class="kd">var</span> <span class="nx">old</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">[</span><span class="nx">n</span><span class="p">];</span></div><div class="line" id="LC174">&nbsp;</div><div class="line" id="LC175">			<span class="c1">// Create a new method</span></div><div class="line" id="LC176">			<span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">[</span><span class="nx">n</span><span class="p">]</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class="line" id="LC177">				<span class="c1">// Call the original method</span></div><div class="line" id="LC178">				<span class="kd">var</span> <span class="nx">r</span> <span class="o">=</span> <span class="nx">old</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="k">this</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span></div><div class="line" id="LC179">&nbsp;</div><div class="line" id="LC180">				<span class="c1">// Request a run of the Live Queries</span></div><div class="line" id="LC181">				<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">run</span><span class="p">();</span></div><div class="line" id="LC182">&nbsp;</div><div class="line" id="LC183">				<span class="c1">// Return the original methods result</span></div><div class="line" id="LC184">				<span class="k">return</span> <span class="nx">r</span><span class="p">;</span></div><div class="line" id="LC185">			<span class="p">}</span></div><div class="line" id="LC186">		<span class="p">});</span></div><div class="line" id="LC187">	<span class="p">},</span></div><div class="line" id="LC188">&nbsp;</div><div class="line" id="LC189">	<span class="nx">run</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">id</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC190">		<span class="k">if</span> <span class="p">(</span><span class="nx">id</span> <span class="o">!=</span> <span class="kc">undefined</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC191">			<span class="c1">// Put the particular Live Query in the queue if it doesn&#39;t already exist</span></div><div class="line" id="LC192">			<span class="k">if</span> <span class="p">(</span> <span class="nx">$</span><span class="p">.</span><span class="nx">inArray</span><span class="p">(</span><span class="nx">id</span><span class="p">,</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queue</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span> <span class="p">)</span></div><div class="line" id="LC193">				<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queue</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span> <span class="nx">id</span> <span class="p">);</span></div><div class="line" id="LC194">		<span class="p">}</span></div><div class="line" id="LC195">		<span class="k">else</span></div><div class="line" id="LC196">			<span class="c1">// Put each Live Query in the queue if it doesn&#39;t already exist</span></div><div class="line" id="LC197">			<span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queries</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">id</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC198">				<span class="k">if</span> <span class="p">(</span> <span class="nx">$</span><span class="p">.</span><span class="nx">inArray</span><span class="p">(</span><span class="nx">id</span><span class="p">,</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queue</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span> <span class="p">)</span></div><div class="line" id="LC199">					<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queue</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span> <span class="nx">id</span> <span class="p">);</span></div><div class="line" id="LC200">			<span class="p">});</span></div><div class="line" id="LC201">&nbsp;</div><div class="line" id="LC202">		<span class="c1">// Clear timeout if it already exists</span></div><div class="line" id="LC203">		<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">timeout</span><span class="p">)</span> <span class="nx">clearTimeout</span><span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">timeout</span><span class="p">);</span></div><div class="line" id="LC204">		<span class="c1">// Create a timeout to check the queue and actually run the Live Queries</span></div><div class="line" id="LC205">		<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">timeout</span> <span class="o">=</span> <span class="nx">setTimeout</span><span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">checkQueue</span><span class="p">,</span> <span class="mi">20</span><span class="p">);</span></div><div class="line" id="LC206">	<span class="p">},</span></div><div class="line" id="LC207">&nbsp;</div><div class="line" id="LC208">	<span class="nx">stop</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">id</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC209">		<span class="k">if</span> <span class="p">(</span><span class="nx">id</span> <span class="o">!=</span> <span class="kc">undefined</span><span class="p">)</span></div><div class="line" id="LC210">			<span class="c1">// Stop are particular Live Query</span></div><div class="line" id="LC211">			<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queries</span><span class="p">[</span> <span class="nx">id</span> <span class="p">].</span><span class="nx">stop</span><span class="p">();</span></div><div class="line" id="LC212">		<span class="k">else</span></div><div class="line" id="LC213">			<span class="c1">// Stop all Live Queries</span></div><div class="line" id="LC214">			<span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queries</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">id</span><span class="p">)</span> <span class="p">{</span></div><div class="line" id="LC215">				<span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">queries</span><span class="p">[</span> <span class="nx">id</span> <span class="p">].</span><span class="nx">stop</span><span class="p">();</span></div><div class="line" id="LC216">			<span class="p">});</span></div><div class="line" id="LC217">	<span class="p">}</span></div><div class="line" id="LC218"><span class="p">});</span></div><div class="line" id="LC219">&nbsp;</div><div class="line" id="LC220"><span class="c1">// Register core DOM manipulation methods</span></div><div class="line" id="LC221"><span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">registerPlugin</span><span class="p">(</span><span class="s1">&#39;append&#39;</span><span class="p">,</span> <span class="s1">&#39;prepend&#39;</span><span class="p">,</span> <span class="s1">&#39;after&#39;</span><span class="p">,</span> <span class="s1">&#39;before&#39;</span><span class="p">,</span> <span class="s1">&#39;wrap&#39;</span><span class="p">,</span> <span class="s1">&#39;attr&#39;</span><span class="p">,</span> <span class="s1">&#39;removeAttr&#39;</span><span class="p">,</span> <span class="s1">&#39;addClass&#39;</span><span class="p">,</span> <span class="s1">&#39;removeClass&#39;</span><span class="p">,</span> <span class="s1">&#39;toggleClass&#39;</span><span class="p">,</span> <span class="s1">&#39;empty&#39;</span><span class="p">,</span> <span class="s1">&#39;remove&#39;</span><span class="p">);</span></div><div class="line" id="LC222">&nbsp;</div><div class="line" id="LC223"><span class="c1">// Run Live Queries when the Document is ready</span></div><div class="line" id="LC224"><span class="nx">$</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="nx">$</span><span class="p">.</span><span class="nx">livequery</span><span class="p">.</span><span class="nx">play</span><span class="p">();</span> <span class="p">});</span></div><div class="line" id="LC225">&nbsp;</div><div class="line" id="LC226"><span class="p">})(</span><span class="nx">jQuery</span><span class="p">);</span></div></pre></div>
            
          </td>
        </tr>
      </table>
    
  </div>


      </div>
    </div>

  


    </div>
  
      

      <div class="push"></div>
    </div>

    <div id="footer">
      <div class="site">
        <div class="info">
          <div class="links">
            <a href="http://github.com/blog"><b>Blog</b></a> |
            <a href="http://support.github.com/">Support</a> |
            <a href="http://github.com/training">Training</a> |
            <a href="http://github.com/contact">Contact</a> |
            <a href="http://develop.github.com">API</a> |
            <a href="http://twitter.com/github">Status</a> |
            <a href="http://twitter.com/github">Twitter</a> |
            <a href="http://help.github.com">Help</a> |
            <a href="http://github.com/security">Security</a>
          </div>
          <div class="company">
            &copy;
            2010
            <span id="_rrt" title="0.08059s from fe3.rs.github.com">GitHub</span> Inc.
            All rights reserved.
           | <a href="/site/terms">Terms of Service</a> | <a href="/site/privacy">Privacy Policy</a>
          </div>
        </div>
        <div class="sponsor">
          <div>
            Powered by the <a href="http://www.rackspace.com ">Dedicated
            Servers</a> and<br/> <a href="http://www.rackspacecloud.com">Cloud
            Computing</a> of Rackspace Hosting<span>&reg;</span>
          </div>
          <a href="http://www.rackspace.com">
            <img alt="Dedicated Server" src="http://assets3.github.com/images/modules/footer/rackspace_logo.png?1d34fa7cbc52f5e93941a615598e011ef63acb5b" />
          </a>
        </div>
      </div>
    </div>

    <script>window._auth_token = "8846a5c451b09790d261ec6dcab4265a2aa523fb"</script>
    
    
  </body>
</html>


