JSFiddle - React, Tailwind, and code Playground

by moob

HTML

<div id="one">foo</div>
<div id="two">bar</div>

CSS

div{
    float:left;
    height:100px;
    width:100px;
	background:red;
	margin-left:10px;
}

JavaScript

(function(foobar) {
    foobar.elements = (function() {
        var one, two;
        
        return{
            one: function(){
                return one || (one = '#one');
            },
            two: function(){
                return two || (two = '#two');
            }   
        }
    })();
                               
    foobar.eventListeners = (function(elems){       

        return {
            oneOnClick: function(e) {
				alert('1');
            },
            twoOnClick: function(e) {
				alert('2');
            }
        }
    })(foobar.elements);
                    
    foobar.bindEventListeners = (function(elems, listeners) {
        return function () {
            $(document).on('click', elems.one(), listeners.oneOnClick);

            $(document).on('click', elems.two(), listeners.twoOnClick);
        }
    })(foobar.elements, foobar.eventListeners);
    
    foobar.init = function (options) {
        foobar.bindEventListeners();
    };
})(window.foobar = window.foobar || {});
foobar.init();