Use the callback of load function $('#transactions').hide().load(url, function(){ $('#transactions ul li a').bind('click tap', exp_iphone_get_trans); }).fadeIn();
On Sat, Dec 26, 2009 at 19:29, mrtoner <d...@donmorris.com> wrote: > Okay, the answer is probably obvious to you that are old hands at > jQuery, but I'm not seeing it. I finally figured out that if I load > new content via AJAX: > > $(document).ready(function(e){ > ... > exp_iphone_get_sales(); > }); > > function exp_iphone_get_sales() { > ... > $('#transactions').hide().load(url).fadeIn(); > } > > I also need to rebind the click/tap (I'm using jQTouch) events to the > new content: > > function exp_iphone_get_sales() { > ... > $('#transactions').hide().load(url).fadeIn(); > $('#transactions ul li a').bind('click tap', > exp_iphone_get_trans); > } > > Unfortunately, clicking on one of the transactions: > > <div id="transactions"> > <ul class="rounded"> > <li class="arrow"><a href="#transaction" > id="7U735587N3003591E" class="slide">...</a></li> > ... > </ul> > </div> > > doesn't execute exp_iphone_get_trans(). And, oddly, when the page > loads, exp_iphone_get_trans() *is* executed -- no click or tap needed. > > Using jQ 1.3.2; I also tried > > $('#transactions ul li a').live('click tap', > exp_iphone_get_trans()); > > to no avail. Any suggestions? >