是否有可能在jquery中创建一个事件监听器来显示div的变化?

时间:2015-06-27 06:31:55

标签: javascript jquery html

我有一个向导,每个步骤都是div,其中包含自己的ID {step-1,step-2,...} 通过改变步骤的显示来进行导航。 从步骤1到步骤2:

step-1 -> display="none" and 
step-2 -> display="block"

现在我想要一个事件来监听step-2的显示,当它改为阻止调用一些函数时。 感谢

3 个答案:

答案 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