/** * History.js Zepto Adapter * @author Benjamin Arthur Lupton * @copyright 2010-2011 Benjamin Arthur Lupton * @license New BSD License */ // Closure (function(window,undefined){ "use strict"; // Localise Globals var History = window.History = window.History||{}, Zepto = window.Zepto; // Check Existence if ( typeof History.Adapter !== 'undefined' ) { throw new Error('History.js Adapter has already been loaded...'); } // Add the Adapter History.Adapter = { /** * History.Adapter.bind(el,event,callback) * @param {Element|string} el * @param {string} event - custom and standard events * @param {function} callback * @return {void} */ bind: function(el,event,callback){ new Zepto(el).bind(event,callback); }, /** * History.Adapter.trigger(el,event) * @param {Element|string} el * @param {string} event - custom and standard events * @return {void} */ trigger: function(el,event){ new Zepto(el).trigger(event); }, /** * History.Adapter.extractEventData(key,event,extra) * @param {string} key - key for the event data to extract * @param {string} event - custom and standard events * @return {mixed} */ extractEventData: function(key,event){ // Zepto Native var result = (event && event[key]) || undefined; // Return return result; }, /** * History.Adapter.onDomLoad(callback) * @param {function} callback * @return {void} */ onDomLoad: function(callback) { new Zepto(callback); } }; // Try and Initialise History if ( typeof History.init !== 'undefined' ) { History.init(); } })(window);