ajax - jQuery, click event doesn't fire -


my problem (because solved it, don't know why worked): had 2 'span' tags inside dom same css class. 1 span added via ajax request. trying fire click event on them using:

$('.css class').on('click', function ... 

but 'span' tag added second (ajax) didn't produce click event. when i've changed above line to:

jquery('body').on('click', '.css class', function(e){... 

everything started work should. don't know why.

use event delegation:

$('body').on('click','.css-class',function(){  // code goes here. }); 

remember not have spaces in class. otherwise you'll targeting <class> under .css

on()

event handlers bound selected elements; must exist on page @ time code makes call .on(). ensure elements present , can selected, perform event binding inside document ready handler elements in html markup on page. if new html being injected page, select elements , attach event handlers after new html placed page. or, use delegated events attach event handler, described next.

delegated events have advantage can process events descendant elements added document @ later time. picking element guaranteed present @ time delegated event handler attached, can use delegated events avoid need attach , remove event handlers....

read more


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -