我在选项卡中有一个页面工作正常,但它有一个分页,我创建了一个ajax来加载其他选项卡。但是在我单击按钮后,选项卡不起作用
这是我创建标签的功能。
var tabContainers = $('.messages');
var navTab = $('div.list ul.nav li');
function loadPage() {
$(document).on('click', navTab, function(){
var the_hash = $(this).children().attr('href');
tabContainers.hide().filter(the_hash).show();
$('div.list ul.nav li').removeClass('active');
$(this).addClass('active');
return false;
}).filter(':first').click();
};
这是我的ajax电话
//button
var moreConversations = $('.btn-more-conversations');
// more conversations
moreConversations.click(function(){
var currentPage = $(this).attr('current-page'),
totalPages = parseInt($(this).attr('total-pages')),
nextPage = parseInt(currentPage) + 1;
$.ajax({
type: "GET",
url: "/inbox/" + nextPage
}).done( function(data){
if (nextPage == totalPages) {
moreConversations.remove();
}else{
moreConversations.attr('current-page', nextPage);
}
insertConversations(data);
}).fail( function(){
sweetAlert("Oops...", "Erro ao aplicar a paginação", "error");
});
});
function insertConversations(page) {
var content_nav = $(page).find('div.menu-conversations').html();
var content_conv = $(page).find('div.content-conversations').html();
$('div.menu-conversations').append(content_nav);
$('div.content-conversations').append(content_conv);
}
我忘记了什么?感谢!!!
答案 0 :(得分:1)
使用@import "../valo/valo.scss";
@mixin test {
@include valo;
.mid-blue {
background: #71C6E5;
}
.black {
background: black;
}
.light-blue {
background-color: #A2DCF2;
}
.white {
background-color: white;
}
.green {
background: green;
}
}
方法代替.on()
。由于您在运行时附加了.click()
,因此不会将li
事件附加到将来.click()
。因此,在这种情况下,您可以使用li
方法。
.on()
答案 1 :(得分:0)
前几天我遇到了同样的问题。该解决方案与AJAX调用在失败/成功后不加载Javascript的事实有关。在done
函数中添加以下代码:
$.getScript('js/thenameofyourfile.js');
更多信息: