我知道如何在单击的指令上检测mousedown事件.但是,当鼠标在我的指令/元素之外时,我的指令也需要变得不可原谅或取消选择.我怎样才能做到这一点?
解决方法
在指令中创建一个链接函数,该函数绑定文档上的mousedown事件处理程序.然后,在指令元素本身上绑定另一个mousedown事件.后一个处理程序还应调用event.stopPropagation()以防止事件一直冒泡到文档级别:
link: function(scope,elem,attrs){
angular.element(document).bind('mousedown',function(){
console.log('clicked on document');
});
elem.bind('mousedown',function(e){
e.stopPropagation();
console.log('clicked on directive');
});
}
Working Plunker