在javascript中有能力添加事件

时间:2018-03-05 07:10:59

标签: javascript

下午好!我想写自己的图书馆。其中的主要类是Event。它执行了很多艰苦的工作。我想这样做,以便程序员使用这个库,可以在一个特别指定的地方添加他的小事件,如userEventFirst,userEventTwo等。他没有找这个地方,也没有弄错,我想给他一个“界面”。

这是我的班级:

addEvent = function () {

    this.userEventFirst = function () {};
    this.userEventTwo = function () {};

    this.attachEvent = function (event, handler) {

        switch ( event ) {
            case 'eventFirst':  this.userEventFirst = handler;  break;
            case 'eventTwo':    this.userEventTwo = handler;    break;
        }

    };

    this.working = function () {

        this.userEventFirst();  

        //... hard work
        var div = document.getElementById('text');
        div.innerHTML += 'class working<br>';

        this.userEventTwo();
    }   

};

在这里程序员接受我的课程,并附加行动:

// programmer use my class:

addEvent1 = new addEvent();

addEvent1.attachEvent('eventFirst', function() {

        var div = document.getElementById('text');
        div.innerHTML += 'user event First<br>' ; 

});

addEvent1.attachEvent('eventTwo', function() {

        var div = document.getElementById('text');
        div.innerHTML += 'user event Two<br>' ;

});

addEvent1.working();

一切正常。它的成功程度如何呢?性能可能会丢失等。这样的事件可能是十几个,它们可以在循环或计时器中调用。程序员不仅可以询问所有事件,还可以询问他所需要的事件。你看,我之前只用pascal编程了)

https://jsfiddle.net/gevaraweb/0u3ff2a4/8/

0 个答案:

没有答案