Custom Event Queue

by Chase Wilson

HTML

<script src="https://gist.github.com/raw/884484/Events.js"></script>
<div id="message"></div>
<a href="#fireEvent" id="fireEvent">John</a> | <input type="text" id="fireEventOnEnter"/>

CSS

#message {margin: 10px 0;}

JavaScript

// Extend an Object Litteral with the Events Mixin
var newObj = Object.append({},new Events);

// Add an event to our random ass object.
newObj.addEvent('hello', function(who,punct){
    $('message').set('text', 'Hello '+ ( who || 'World') + '!');
});

window.addEvent('domready',function(){
    
    // Initial Message
    newObj.fireEvent('hello', 'Blog Reader');
    
    $('fireEvent').addEvent('click', function(e){
        e.preventDefault();
        newObj.fireEvent('hello', this.get('text'));  
    });
        
    $('fireEventOnEnter').addEvent("keydown", function(e){
        if(e.key == 'enter'){
            newObj.fireEvent('hello', this.value);
        }
    });
});