我想设置一个相当简单的(imo)Javascript GUI,并且遇到问题。我正在使用jQuery。这是我想做的事:事件冒泡的Javascript GUI问题
旁边有一些文字,像这样一堆方块:
[ ] 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
,但这似乎并未解决问题。我应该在这里做什么?