将 EventListener 附加到文档中,并通过浏览器了解自定义事件

attach eventlistener to document & understanding of custom event by browser

提问人:hai wayl 提问时间:10/21/2023 最后编辑:hai wayl 更新时间:10/21/2023 访问量:53

问:

我了解到,在不覆盖现有事件的情况下将事件处理程序附加到指定元素addEventListener()

例:

<html>
<body>

<button id="myBtn">Try it</button>

<p id="demo">

<script>
myBtn.addEventListener("click", myFunction);

function myFunction() {
  document.getElementById("demo").innerHTML = "Hello World";
}
</script>

</body>
</html>

所以我正在处理的元素是 myBtn,侦听的事件是 click

然而,情况如何

  created() {

  document.addEventListener('onAddWork', () => {
      this.$emit('hello',this.txt);
    });

  },

哪个元素?它可以是文件吗?那么 addWork 上的自定义事件呢,浏览器将如何理解它(就像单击或鼠标悬停一样)?

更新

     <v-btn @click="saveWork"> {{ 'validate' }} </v-btn>

    saveWork() {
      document.dispatchEvent(new CustomEvent('onAddWork'));
      // do...
    },

JavaScript 事件

评论

0赞 mykaf 10/21/2023
是的,在第二个示例中,事件侦听器将添加到文档中。 似乎是一个自定义事件,但我们没有关于它可能是什么的上下文。onAddWork
0赞 yoduh 10/21/2023
事件侦听器只是侦听名为“onAddWork”的发出的事件。它可能由单击、鼠标悬停或其他内容发出。事件的来源对侦听者来说并不重要。
0赞 hai wayl 10/21/2023
@yoduh我已经更新了帖子,你能联系一下吗?在项目中,我发现还有另一个用途是dispatchEvent。我不太明白,dispatchEvent是发射器吗?onAddWork
0赞 hai wayl 10/21/2023
@mykaf进一步的信息已添加到帖子中
0赞 yoduh 10/22/2023
如果调度某个特定事件,并且具有该特定事件的侦听器,则侦听器将在收到该事件时响应(运行其代码)。请研究该主题以了解更多信息,Stack Overflow 不是提出基本问题的最佳场所。他们已经在网站上被问到和回答了,互联网上有很多教程和指南。使用 Vue,你不需要使用它来做任何事件监听或事件调度,它内置在框架中。在不首先了解底层 JS 基础知识的情况下使用 Vue 可能是一个坏主意。document

答: 暂无答案