我有以下代码:
$(".option_box .option_name").click(function () {
$(this).siblings(".collapsible").toggle();
$(this).toggleClass("hided");
});
$(".option_box .attribute_group_name").click(function () {
$(this).siblings(".attribute_box").toggle();
$(this).toggleClass("hided");
});
与之关联的 HTML 代码是:
<div class="option_box" style="left:140px;">
<div class="option_name">Gama</div>
<table class="collapsible">
<tr>
<td><input id="gama_1" class="gama_value filtered" type="checkbox" name="gama[]" value="1" /></td>
<td><label for="gama_1">Correcta</label></td>
</tr>
<tr>
<td><input id="gama_2" class="gama_value filtered" type="checkbox" name="gama[]" value="2" /></td>
<td><label for="gama_2">Aficionado</label></td>
</tr>
<tr>
<td><input id="gama_3" class="gama_value filtered" type="checkbox" name="gama[]" value="3" /></td>
<td><label for="gama_3">Entusiasta</label></td>
</tr>
<tr>
<td><input id="gama_4" class="gama_value filtered" type="checkbox" name="gama[]" value="4" /></td>
<td><label for="gama_4">Purista</label></td>
</tr>
<tr>
<td><input id="gama_5" class="gama_value filtered" type="checkbox" name="gama[]" value="5" /></td>
<td><label for="gama_5">Exclusive</label></td>
</tr>
</table>
</div>
其中,视觉上产生了这个:
我的问题是,当我将鼠标移出下拉菜单时,我希望下拉菜单(实际上是一个带有表格的div元素)关闭,但正如您所见,这并不容易,因为它不是像我一开始那样声明一个 .mouseout 事件的问题。
下拉菜单由两部分组成,“标题”和“正文”,我希望整个下拉列表在我放弃其中之一时自行关闭,但到目前为止还没有运气。我在 jQuery 方面缺乏一些真正的知识(这里和那里只是一点点接触,但目前还没有什么出色的),所以我很困惑。我尝试了.mouseout、.mouseleave、.focusout 和其他方法。
我什至求助于 jQuery++ 来使用.within方法,但我同样迷失了方向。你们中的任何人都可以指出我正确的方向吗?