In case you are willing to use jquery outside events plugin by @cowboy with Angular JS, and don't want to get your hands dirty, try this wrapper.
It defines oc-clickoutside
, oc-dblclickoutside
, oc-mouseoveroustide
, oc-focusoutside
directives you can use in your code.
In order to use with amd, don't forget to set path for outsideEvents.js and its dependency jQuery.
use just like you
<popup oc-clickoutside="hidePopup()">Your awesome popup content.</popup>
In case you don't need amd, just strip out the define(['angular', 'outsideEvents'],function(angular){...})
part.
Don't forget to load module while initializing your own.