From 6adace58fd2fbc7ce8f7e1745d1edd8fbddb794e Mon Sep 17 00:00:00 2001 From: perploug Date: Tue, 10 Sep 2013 14:35:44 +0200 Subject: [PATCH] Better click detection for modal closing --- .../lib/umbraco/compat.js | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/lib/umbraco/compat.js b/src/Umbraco.Web.UI.Client/lib/umbraco/compat.js index 599105cda9..608b5dd6cd 100644 --- a/src/Umbraco.Web.UI.Client/lib/umbraco/compat.js +++ b/src/Umbraco.Web.UI.Client/lib/umbraco/compat.js @@ -1,7 +1,6 @@ /* contains random bits and pieces we neede to make the U6 UI behave */ (function ($) { - $(document).ready(function () { scaleScrollables("body"); @@ -12,19 +11,22 @@ $("body").click(function (event) { var el = event.target.nodeName; - var pEl = event.target.parentElement.nodeName; + var els = ["INPUT","A","BUTTON"]; - //first check the simple elements - if (el != "INPUT" && el != "A" && el != "BUTTON" && - pEl != "A" && pEl != "BUTTON" && pEl != "LABEL") { - - //NOTE: The IMG needs to be added because a ton of buttons in the legacy editors are actually just images with click handlers! - if (el == "IMG" && $(event.target.parentElement).hasClass("btn-group")) { - return; - } + if(els.indexOf(el) >= 0){return;} - UmbClientMgr.closeModalWindow(undefined); + var parents = $(event.target).parents("a,button"); + if(parents.length > 0){ + return; } + + var click = $(event.target).attr('onClick'); + if(click){ + return; + } + + + UmbClientMgr.closeModalWindow(undefined); }); });