【发布时间】:2009-10-06 03:52:57
【问题描述】:
我正在尝试设置一个相当简单的 (imo) Javascript GUI,但遇到了问题。我正在使用 jQuery。这是我想做的:
在一些文本旁边有一堆正方形,像这样:
[ ] Text next to square
[ ] Text next to square 2
[ ] Text next to square 3
[ ] Text next to square 4
当您单击其中一个方块时,会显示一个绝对定位的浮动 div。那个浮动 div 有一些界面选项。
此时,如果用户点击浮动 div 之外的任意位置,则 div 应该会消失。如果用户点击另一个框,原来的 div 应该会消失,并会出现一个新的。
我可以让浮动 div 正确显示,但我无法隐藏它们。我目前正在做的是将点击处理程序附加到显示浮动 div 的函数中的$(document)。简化代码如下:
show(jqueryObj)
{
jqueryObj.show();
$(document).one("click", function () { jqueryObj.hide(); });
}
(显示绑定到其他地方的[ ] 框之一)
我遇到的问题是点击事件似乎冒泡了,function () { jqueryObj.hide(); } 立即执行。我尝试在show() 中返回false,但这似乎并没有解决问题。我应该在这里做什么?
【问题讨论】:
标签: javascript jquery event-handling