JavaScript类,引发事件吗?

时间:2020-07-02 22:13:37

标签: javascript class

我迷路了。我正在尝试做一个类似于下面的课程,在该课程的某个特定时间,我需要能够通过触发某个事件完成的事件来进行报告。看来JS没有发生事件吗?有人可以帮我阐明一下这个话题吗?

class MyClass {
    constructor() {}

    test() {
       // Do Stuff
       // RAISE EVENT: onTest
    }
}

-------------------------
script.js
-------------------------
let myClass = new MyClass();

// Register the event listener here?
// myClass on event onTest () = {dostuff;}

myClass.test();

1 个答案:

答案 0 :(得分:1)

从技术上讲,您可以使用内置的events并将其应用到文档中,而对于该事件只需使用addeventlistener

https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events

class MyClass {
    constructor() {}

    test() {
       document.dispatchEvent(new Event('tested'));
    }
}

let myClass = new MyClass();

document.addEventListener('tested', function (e) { console.log("tested!") }, false);

myClass.test();