从下拉菜单“点击”的最佳方式?

时间:2012-01-02 13:58:38

标签: javascript jquery

  

可能重复:
  How to detect a click outside an element?

我有一个点击时出现的下拉菜单。当用户点击它时,它就会消失。

对于点击我使用:

$("#title").click(function() {
    dropdown_show(); 
);

但是当用户点击时,我使用:

$('body').click(function(e) {
    if ((!$(e.target).is('#title'))&&(!$(e.target).is('#dropdown'))) {
        dropdown_hide();
    }   
});

有没有更好的方法来了解用户何时点击,而不必每次用户点击正文时都运行事件?

2 个答案:

答案 0 :(得分:4)

您可以使用焦点事件,因此如果它不在焦点上,则隐藏它。这是jquery's api for it

答案 1 :(得分:0)

您只能在菜单点击事件中设置正文点击事件,并在点击时使用.unbind删除正文点击事件。

您可能希望将.bind与命名空间一起使用:Best way to remove an event handler in jQuery?