That .live() code wouldn't work because what you've really written is: var temp = exp_iphone_get_trans(); $('#transactions ul li a').live('click tap', temp);
Now you can probably see what the problem is with that. By adding the () after the function name, you are *calling* the function immediately and then passing its *return value* to the .live() method. Note that your other code with .bind() doesn't have the extra () after the callback funciton name. Here's a subtle thing, but I find it very helpful to put whitespace inside the parentheses of a function call. So this line of code: $('#transactions ul li a').live('click tap', exp_iphone_get_trans()); I would have written as: $('#transactions ul li a').live( 'click tap', exp_iphone_get_trans() ); Now it's become a little easier to see those extra () after the callback function name. Another subtle thing, but I also find it helpful to avoid names_with_underscores and instead use camelCaseNames. Why? The underscore is a punctuation mark, and in a language with so much significant punctuation, these extra punctuation marks detract from the meaningful ones. So I might write the code like: $('#transactions ul li a').live( 'click tap', iPhoneGetTrans() ); Now things are "stuck together" visually for me in a way that better highlights the significant punctuation. For me at least this helps that extra () after the iPhoneGetTrans name stand out, so hopefully I would catch on and correct it to: $('#transactions ul li a').live( 'click tap', iPhoneGetTrans ); -Mike On Sat, Dec 26, 2009 at 1:29 PM, mrtoner <d...@donmorris.com> wrote: > > Using jQ 1.3.2; I also tried > > $('#transactions ul li a').live('click tap', > exp_iphone_get_trans()); > > to no avail. Any suggestions? >