我有一个向导,每个步骤都是div
,其中包含自己的ID {step-1,step-2,...}
通过改变步骤的显示来进行导航。
从步骤1到步骤2:
step-1 -> display="none" and
step-2 -> display="block"
现在我想要一个事件来监听step-2
的显示,当它改为阻止调用一些函数时。
感谢
答案 0 :(得分:3)
现代浏览器支持使用MutationObserver。使用.observe()
方法将对象添加到观察者后,当该对象的属性发生更改时,将触发回调。回调将收到详细说明旧属性和新属性的Mutation Record。
(注意这不涉及任何JQuery)。
答案 1 :(得分:2)
您可以使用if
。如果#step-2
当前为display:none
,我们需要先将其更改为阻止,然后执行某些操作。
$('#next').click(function(){
if($('#step-2').css('display') == 'none'){
$('#step-2').css({
'display' : 'block'
});
//do some thing after #step-2 display block
}else{
//do some thing else
}
});
或者
$('#next').click(function(){
if($('#step-2').is(':visible'){
//do some thing
}
});
这不是一个好方法,但我认为它会起作用
答案 2 :(得分:0)
我用你的帮助做到了。但我知道smartwizard。 我用过它。 https://github.com/mstratman/jQuery-Smart-Wizard