From 63cc305579e5224a980d28596e4f85bebbd590d0 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Fri, 23 Aug 2013 13:11:56 -0500 Subject: [PATCH] get element utils --- js/framework/framework-init.js | 9 ++++++--- js/framework/framework-utilities.js | 17 +++++++++++++++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/js/framework/framework-init.js b/js/framework/framework-init.js index e85d4122ae..ffa11543b4 100644 --- a/js/framework/framework-init.js +++ b/js/framework/framework-init.js @@ -9,18 +9,21 @@ // DOM has completed function completed() { + // remove any listeners document.removeEventListener( "DOMContentLoaded", completed, false ); window.removeEventListener( "load", completed, false ); framework.trigger("ready"); + + // init the framework initalize(); } - // When the DOM is ready, call .ready() + // When the DOM is ready, call completed() if ( document.readyState === "complete" ) { - // DOM is already ready, run .ready() via setTimeout + // DOM is already ready setTimeout( completed ); } else { - // DOM isn't ready yet, add event listeners for when it is + // DOM isn't ready yet, add event listeners document.addEventListener( "DOMContentLoaded", completed, false ); window.addEventListener( "load", completed, false ); } diff --git a/js/framework/framework-utilities.js b/js/framework/framework-utilities.js index 7a5697843b..e7de4c61d2 100644 --- a/js/framework/framework-utilities.js +++ b/js/framework/framework-utilities.js @@ -1,11 +1,24 @@ (function(window, document, framework) { + framework.get = function(id) { + return document.getElementById(id); + }; + + framework.getByClass = function(classname) { + return document.getElementByClassName(classname); + }; + + framework.getByTag = function(tagName) { + return document.getElementsByTagName(tagName); + }; + framework.trigger = function(type, data) { window.dispatchEvent( new CustomEvent(type, data) ); }; - framework.on = function(type, callback) { - window.addEventListener(type, callback); + framework.on = function(type, callback, element) { + var e = element || window; + e.addEventListener(type, callback); }; })(this, document, this.FM = this.FM || {}); \ No newline at end of file