diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/lib/ui.js | 34 |
1 files changed, 6 insertions, 28 deletions
diff --git a/js/lib/ui.js b/js/lib/ui.js index 5451dce73..030390823 100644 --- a/js/lib/ui.js +++ b/js/lib/ui.js @@ -106,41 +106,19 @@ elgg.ui.popsUp = function(event) { * Catches clicks that aren't in a popup and closes all popups. */ elgg.ui.popupClose = function(event) { - event.preventDefault(); - event.stopPropagation(); - $eventTarget = $(event.target); - var inTarget = false; var $popups = $('[rel=popup]'); - // if the click event target isn't in a popup target, fade all of them out. $popups.each(function(i, e) { - var target = elgg.getUrlFragment($(e).attr('href')) + ':visible'; - var $target = $(target); - - if (!$target.is(':visible')) { - return; - } - - // didn't click inside the target - if ($eventTarget.closest(target).length > 0) { - inTarget = true; - return false; + var $e = $(e); + var $target = $(elgg.getUrlFragment($e.attr('href')) + ':visible'); + if ($target.length > 0) { + $target.fadeOut(); + $e.removeClass('elgg-state-active'); } }); - if (!inTarget) { - $popups.each(function(i, e) { - var $e = $(e); - var $target = $(elgg.getUrlFragment($e.attr('href')) + ':visible'); - if ($target.length > 0) { - $target.fadeOut(); - $e.removeClass('elgg-state-active'); - } - }); - - $('body').die('click', elgg.ui.popClose); - } + $('body').die('click', elgg.ui.popClose); } /** |