我有一个点击时出现的下拉菜单。当用户点击它时,它就会消失。
对于点击我使用:
$("#title").click(function() {
dropdown_show();
);
但是当用户点击时,我使用:
$('body').click(function(e) {
if ((!$(e.target).is('#title'))&&(!$(e.target).is('#dropdown'))) {
dropdown_hide();
}
});
有没有更好的方法来了解用户何时点击,而不必每次用户点击正文时都运行事件?
答案 0 :(得分:4)
您可以使用焦点事件,因此如果它不在焦点上,则隐藏它。这是jquery's api for it
答案 1 :(得分:0)
您只能在菜单点击事件中设置正文点击事件,并在点击时使用.unbind删除正文点击事件。
您可能希望将.bind与命名空间一起使用:Best way to remove an event handler in jQuery?