 <p>Well I think the problem is how you bind the <code>.click</code> event. Before jQuery 1.7 they had separate methods for <code>.bind</code>, <code>.delegate</code> and <code>.live</code>. But with arrival of jQuery 1.7 these methods were merged an to simplify things by including them all under 1 method <code>.on</code>. But due to not so clear documentation people don't understand the <code>.on</code> method. <code>.on</code> does provide the function of 3 above mentioned deprecated methods, but it depends how you use <code>.on</code> method. Here is an example:</p> <pre><code>// Bind $( "button" ).on( "click", function( e ) {} ); // Live $( document ).on( "click", "button", function( e ) {} ); // Delegate $( "body" ).on( "click", "button", function( e ) {} ); </code></pre> <p>My guess is that markup for the <code>button</code> that is not working is being declared after your <code>.click</code> is bind. In that case you will have to implement the <code>.on</code> as done for live events. So all you would need to change is the way you bind call.</p> <pre><code>$( document ).on( "click", "button", function () { //Do Something }); </code></pre> <p>Hope this helps.</p>