javascript – 检测Angularjs中的Mousedown事件

我知道如何在单击的指令上检测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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...