2010-08-04 35 views
-1

我有一套DIV,我在其中的每个渲染CheckBoxList。 DIV的数量和CheckBoxLists的数量是动态的。每个div都有一个与之关联的按钮,可以切换该特定DIV的可见性。jquery capture onToggle

每次用户点击一个复选框时,我需要在一个标签中显示该复选框的文本。我认为我不喜欢在DIV的切换事件上附加一个事件,这样当div变得可见时,我可以在该div内的复选框的单击事件上绑定一个函数,该复选框将显示单击复选框的文本。

我很努力地找到一种方法来捕获div变得可见或不可见时。我如何知道在给定时间显示哪个div?

有没有其他方法可以做到这一点?

+0

你的意思是切换到什么意思? – alopix 2010-08-04 05:38:33

+0

你在说什么“切换”?你的意思是能见度?如果是这样,请参阅:http://stackoverflow.com/questions/941113/jquery-javascript-dom-visibility-event – gpmcadam 2010-08-04 05:40:27

+0

我在说abt通过调用.toggle()事件让div显示或隐藏。 – Asdfg 2010-08-04 06:13:35

回答

0

如果你想在任何实例绑定事件处理函数/动作对他们说:

$("div#theContainerId").find(":visible").each(function(/*Do Something*/)); 

如果你想切换(在其他一些动作(不是隐藏/显示等)结合),这样做:

$(".toggleTarget").toggle(function(){$(this).hide(); /* add more actions here */}, function(){$(this).show(); /* add more actions here */}); 
+0

$(“。toggleTarget”)。toggle(function(){$(this).hide();/*在这里,我会找到toggleTarget中的复选框,并将事件处理程序绑定到它们上* /}, 非常感谢。 .... – Asdfg 2010-08-05 08:18:52

0

您可以在启动时或间隔时间检查div是否可见。

this selector will tell you that

之后,你需要保持跟踪谁在隐藏它,并将它调用一个函数,我认为

@鲍尔的链接会的工作,我认为,但将可能是昂贵的。

如果这不是你想要的,那么请扩展你的问题。