我在页面上有许多元素,默认情况下是隐藏的。根据用户行为,可能会显示一个(使用jquery' show())。类似的,可能会隐藏一个(使用jquery' hide())。
所有这些元素都具有相同的css类。有没有办法为具有特定类的元素创建一个监听器,以查看它们是否在hide / show之间发生了任何变化?
谢谢!
答案 0 :(得分:2)
您可以使用:visible
或:hidden
。这里有更多信息https://api.jquery.com/visible-selector/和https://api.jquery.com/hidden-selector/
var $foo = $('.foo');
$foo.first().hide();
$('.foo').each(function() {
console.log($(this).is(":visible"));
console.log($(this).is(":hidden"));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="foo">foo</div>
<div class="foo">foo</div>
答案 1 :(得分:0)
要直接回答您的问题,不会有内置方式,但我们可以通过自定义ContextMenu
和<MenuItem x:Name="UndoProcessMenuITem" Header="Undo Process" Click="UndoProcessMenuITem_Click" >
<MenuItem.Visibility>
<MultiBinding Converter="{StaticResource RowUndoButtonVisibility}">
<Binding Path="{Binding PlacementTarget.DataContext.ProductIsStandby, RelativeSource={RelativeSource AncestorType=ContextMenu}}" />
<Binding Path="{Binding PlacementTarget.DataContext.ProductIsDone, RelativeSource={RelativeSource AncestorType=ContextMenu}}" />
</MultiBinding>
</MenuItem.Visibility>
</MenuItem>
来实现此目的。
.on
.trigger