Hi, I'm trying to get a onBlur event working in Safari. The problem lies in getting the triggering element. I have no idea what the problem is.
Using this to get a triggering element: var _trigger = e.originalEvent.explicitOriginalTarget || e.relatedTarget || document.activeElement; For some reason e.relatedTarget is always undefined (in Safari and FF anyway). Does anyone knows if there's a workaround? Is this a bug in webkit/ safari or jQuery? What I'm want to do is to find if the element that triggered the onBlur is inside my <div class=""></div> using this code: $('.search_field').blur(function(e) { var _trigger = e.originalEvent.explicitOriginalTarget || e.relatedTarget || document.activeElement; /** Check if _trigger is really an element **/ _trigger = _trigger.nodeType == 1 ? _trigger : _trigger.parentNode; var isChild = false; $('.search_box').find('*').each(function(index, elem) { if (_trigger === elem) { isChild = true; } }); if (!isChild) { $('.search_results_box').hide(); }; }); Also, if anyone got a hit if there's a better way to write this, fell free. ..fredrik