请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如何在angular中动态删除一个元素绑定的所有事件?

如何在angular中删除一个元素的所有事件绑定,达到disabled的效果。针对哪些没有disabled属性的元素,如div,span等

正在回答 回答被采纳积分+3

1回答

接灰的电子产品 2019-03-12 08:45:49

不存在删除绑定这种操作,而是你要设置一些成员变量或者状态用来表示是否disable,在disable 时不做事件处理就好。

0 回复 有任何疑惑可以回复我~
  • 提问者 starkShang #1
    我现在的需求是写一个通用的指令 在元素上加上这个指令就等屏蔽所有事件,从而禁用掉某个元素。但是还是在界面上展示的。。。
    回复 有任何疑惑可以回复我~ 2019-03-12 12:11:06
  • 接灰的电子产品 回复 提问者 starkShang #2
    @Directive({
      selector: `click-stop-propagation`
    })
    class ClickStopPropagation {
      stopClick(event:Event) {
        event.preventDefault();
        event. stopPropagation();
      }
    }
    
    类似这种就可以,但你需要每个可以点击的元素都要添加该指令,而不是只添加在容器上。因为容器内的 dom 结构是未知的
    回复 有任何疑惑可以回复我~ 2019-03-12 12:50:41
  • 刚才的有误,看这个
    @Directive({
      selector: `click-stop-propagation`
    })
    class ClickStopPropagation {
    @HostListener('click',['event'])
      stopClick(event:Event) {
        event.preventDefault();
        event. stopPropagation();
      }
    }
    
    类似这种就可以,但你需要每个可以点击的元素都要添加该指令,而不是只添加在容器上。因为容器内的 dom 结构是未知的
    回复 有任何疑惑可以回复我~ 2019-03-12 12:55:22
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信