代码之家  ›  专栏  ›  技术社区  ›  Nolyurn

我是否可以停止外部模块组件按钮上的事件在角度(5)中发生?

  •  0
  • Nolyurn  · 技术社区  · 6 年前

    我从有按钮的外部模块导入一个组件。

    按一下按钮,它就会 console.log('test'); 所以它在我的控制台中显示“test”。

    它是一个外部模块,因此我无法访问此组件的代码。但是我知道button元素的id。 id='idtest' .

    当我点击这个按钮并执行 console.log('test')

    每一个解决方案,纯js或角度都是值得赞赏的。

    是否尝试过按id获取元素,添加onclick和eventlistener并调用事件.停止播放()

    3 回复  |  直到 6 年前
        1
  •  1
  •   Cemsina Güzel    6 年前

    除了添加另一个按钮id=test2之外,您可以编辑css显示该按钮中的任何一个 现在,您可以为该按钮单击事件编写对话框代码。如果对话框以“是”结束,则执行按钮单击事件

    $("#yourhiddenbutton).click()
    
        2
  •  0
  •   Saurav    6 年前

    document.querySelector('#idtest').addEventListener('click', function(){})

        3
  •  0
  •   ak.leimrey    6 年前

    我建议使用@ViewChild,然后像这样。。。

    template: "<app-component #component></app-component>"
    
    @ViewChild('component') public component: any
    
    this.component.event.stopPropagation();
    

    编辑:但是,在很多情况下,它会导致一些严重的控制台错误,我不鼓励使用这个。很少有理由阻止组件发出事件。如果组件不适合您的需要,您应该选择使用其他组件。