我试着让我的jQuery扩大的任何地方点击时(除了左上框),并尝试只在(左上框),当点击崩溃jquery展开/折叠?
HTML:
<div id="box">
<div class="collapsed container" >
<div class="nav" class="closed">0</div>
box 1 - click me
<div class="expanded_content">
extra content only for expanded state
</div>
<div class="collapsed_content">
collapsed only content #1
</div>
</div>
<div class="collapsed container">
<div class="nav" class="closed">0</div>
box 2 - click me
<div class="expanded_content">
extra content only for expanded state
</div>
</div>
<div class="collapsed container">
<div class="nav" class="closed">0</div>
box 3 - click me
<div class="expanded_content">
extra content only for expanded state
</div>
</div>
</div>
的JavaScript:
$("#box").delegate(".container", "click", function(e) {
$(this).addClass("expanded");
});
$("#box").delegate(".container.expanded .nav ", "click", function(e) {
$(this).addClass("collapsed");
});
似乎是几乎没有,但不大,这将是这样做的正确方法?由于切换似乎不是这里的选项。
是否使用.delegate(),因为该元素是不是在页面上开始?此外,自从jQuery 1.7开始,.delegate()已被弃用,以支持.on()。 – j08691 2012-03-08 20:25:47
@ j08691 - '委托()'不被弃用,'活着'是。 – ShankarSangoli 2012-03-08 20:26:31
@ShankarSangoli - 真的吗?请先阅读[docs](http://api.jquery.com/delegate/):“从jQuery 1.7开始,.delegate()已被.on()方法取代。” – j08691 2012-03-08 20:29:26