我的 pjax 工作正常,但我需要对不同的pjax
事件做不同的事情。这是我的pjax
:
//MainMenu
$(document).pjax('.menu li a', '.pjax_submenu', { fragment: '.pjax_submenu', timeout: 5000});
//SubMenu
$(document).pjax('.submenu li a', '.submenu', { fragment: '.submenu', timeout: 5000 });
基本上我有这两个菜单,想在pjax:start
和上做点什么pjax:end
。不幸的是,这些事件总是被调用。例如:
$("body").on("pjax_event", ".pjax_submenu", function(e, category){
$(document).on('pjax:start', function() {
if(category === 1){
$('.pjax_submenu').fadeOut(500);
} else{
$('.info').slideUp(500);
}
});
$(document).on('pjax:end', function() {
if(category === 1){
$('.pjax_submenu').hide().fadeIn(500);
} else{
$('.info').hide().slideDown(500);
}
});
});
$("body").on("click", ".menu li a", function() {
$(".pjax_submenu").trigger("pjax_event", 1);
});
$("body").on("click", ".submenu li a", function() {
$(".pjax_submenu").trigger("pjax_event", 2);
});
我点击菜单或子菜单链接都没有关系,结果是所有pjax
代码的执行。即使我这样做:
$("body").on("click", ".menu li a", function() {
$(document).on('pjax:start', function() { stuff }
$(document).on('pjax:end', function() { stuff }
});
$("body").on("click", ".submenu li a", function() {
$(document).on('pjax:start', function() { stuff }
$(document).on('pjax:end', function() { stuff }
});
它仍然执行 >both< 并且我似乎无法理解一种方法来区分pjax
不同单击项目上的事件。
我想要做的是淡化主菜单点上的内容,并为子菜单信息框使用 slideUp/Down。
如果您需要任何其他信息,请告诉我,我们将不胜感激!