After First Click, If Ajax Is Done, On Second Click E.stoppropagation
When some div is clicked, a div is appended and ajax loads some data inside the newly created div, problem is that when a second click occurs on the div that causes the append, ano
Solution 1:
Use .one()
$(document).one('click', '.LibSectOpen', function () {
varLibSect = ($(this).find('.SectionName').html())
$(this).find('.SectionName').empty()
$(this).append('<div class="LibraryBooks BooksHolder"><img height="30" width="30" class="LibraryBooksGIF" src="../images/ic_loading.gif"></div>').load(function (e) {
});
$.ajax({
type: "POST",
data: {
data: LibSect
},
complete: function () {
$('.LibraryBooksGIF, #QuickRead').fadeOut('slow')
},
url: "../php/books/Library_Load_Books.php"
}).done(function (feedback) {
$('.LibraryBooks').html(feedback);
});
});
Try a little more cleaner version
$(document).one('click', '.LibSectOpen', function () {
varLibSect = ($(this).find('.SectionName').html())
$(this).find('.SectionName').empty()
var $libraryBooks = $('<div class="LibraryBooks BooksHolder"><img height="30" width="30" class="LibraryBooksGIF" src="../images/ic_loading.gif"></div>').appendTo(this);
$.ajax({
type: "POST",
data: {
data: LibSect
},
complete: function () {
$('.LibraryBooksGIF, #QuickRead').fadeOut('slow')
},
url: "../php/books/Library_Load_Books.php"
}).done(function (feedback) {
$libraryBooks.html(feedback);
});
});
Post a Comment for "After First Click, If Ajax Is Done, On Second Click E.stoppropagation"