From 00162124b39c86b67dd3890ce992e568ed41cbee Mon Sep 17 00:00:00 2001 From: Andreas Gohr <andi@splitbrain.org> Date: Fri, 10 Jun 2011 20:39:18 +0200 Subject: [PATCH] deprecated even functions These now simply wrap around jQuery --- lib/scripts/events.js | 169 ++++-------------------------------------- 1 file changed, 14 insertions(+), 155 deletions(-) diff --git a/lib/scripts/events.js b/lib/scripts/events.js index a1fcac718..95564be39 100644 --- a/lib/scripts/events.js +++ b/lib/scripts/events.js @@ -1,164 +1,22 @@ -// written by Dean Edwards, 2005 -// with input from Tino Zijdel - -// http://dean.edwards.name/weblog/2005/10/add-event/ - -function addEvent(element, type, handler) { - // assign each event handler a unique ID - if (!handler.$$guid) handler.$$guid = addEvent.guid++; - // create a hash table of event types for the element - if (!element.events) element.events = {}; - // create a hash table of event handlers for each element/event pair - var handlers = element.events[type]; - if (!handlers) { - handlers = element.events[type] = {}; - // store the existing event handler (if there is one) - if (element["on" + type]) { - handlers[0] = element["on" + type]; - } - } - // store the event handler in the hash table - handlers[handler.$$guid] = handler; - // assign a global event handler to do all the work - element["on" + type] = handleEvent; -}; -// a counter used to create unique IDs -addEvent.guid = 1; - -function removeEvent(element, type, handler) { - // delete the event handler from the hash table - if (element.events && element.events[type]) { - delete element.events[type][handler.$$guid]; - } -}; - -function handleEvent(event) { - var returnValue = true; - // grab the event object (IE uses a global event object) - event = event || fixEvent(window.event, this); - // get a reference to the hash table of event handlers - var handlers = this.events[event.type]; - // execute each event handler - for (var i in handlers) { - if (!handlers.hasOwnProperty(i)) continue; - if (handlers[i].call(this, event) === false) { - returnValue = false; - } - } - return returnValue; -}; - -function fixEvent(event, _this) { - // add W3C standard event methods - event.preventDefault = fixEvent.preventDefault; - event.stopPropagation = fixEvent.stopPropagation; - // fix target - event.target = event.srcElement; - event.currentTarget = _this; - // fix coords - var base = (document.documentElement.scrollTop?document.documentElement:document.body); - event.pageX = (typeof event.pageX !== 'undefined') ? event.pageX : event.clientX + base.scrollLeft; - event.pageY = (typeof event.pageY !== 'undefined') ? event.pageY : event.clientY + base.scrollTop; - - return event; -}; -fixEvent.preventDefault = function() { - this.returnValue = false; -}; -fixEvent.stopPropagation = function() { - this.cancelBubble = true; -}; - - -/** - * Pseudo event handler to be fired after the DOM was parsed or - * on window load at last. - * - * @author based upon some code by Dean Edwards - * @author Dean Edwards - * @link http://dean.edwards.name/weblog/2006/06/again/ - */ -window.fireoninit = function() { - // quit if this function has already been called - if (arguments.callee.done) return; - // flag this function so we don't do the same thing twice - arguments.callee.done = true; - // kill the timer - if (_timer) { - clearInterval(_timer); - _timer = null; - } - - if (typeof window.oninit == 'function') { - window.oninit(); - } -}; - /** - * Run the fireoninit function as soon as possible after - * the DOM was loaded, using different methods for different - * Browsers + * The event functions are no longer in use and a mere wrapper around + * jQuery's event handlers. * - * @author Dean Edwards - * @link http://dean.edwards.name/weblog/2006/06/again/ + * @deprecated */ - // for Mozilla - if (document.addEventListener) { - document.addEventListener("DOMContentLoaded", window.fireoninit, null); - } - - // for Internet Explorer (using conditional comments) - /*@cc_on - @if (@_win32) - document.write("<scr" + "ipt id=\"__ie_init\" defer=\"true\" src=\"//:\"><\/script>"); - var script = document.getElementById("__ie_init"); - script.onreadystatechange = function() { - if (this.readyState == "complete") { - window.fireoninit(); // call the onload handler - } - }; - @end @*/ - - // for Safari - if (/WebKit/i.test(navigator.userAgent)) { // sniff - var _timer = setInterval(function() { - if (/loaded|complete/.test(document.readyState)) { - window.fireoninit(); // call the onload handler - } - }, 10); - } - - // for other browsers - window.onload = window.fireoninit; - +function addEvent(element, type, handler) { + DEPRECATED('Use jQuery.bind() instead.'); + jQuery(element).bind(type,{},handler); +} -/** - * This is a pseudo Event that will be fired by the fireoninit - * function above. - * - * Use addInitEvent to bind to this event! - * - * @author Andreas Gohr <andi@splitbrain.org> - * @see fireoninit() - */ -window.oninit = function(){}; +function removeEvent(element, type, handler) { + DEPRECATED('Use jQuery.unbind() instead.'); + jQuery(element).unbind(type,handler); +} -/** - * Bind a function to the window.init pseudo event - * - * @author Simon Willison - * @see http://simon.incutio.com/archive/2004/05/26/addLoadEvent - */ function addInitEvent(func) { - var oldoninit = window.oninit; - if (typeof window.oninit != 'function') { - window.oninit = func; - } else { - window.oninit = function() { - oldoninit(); - func(); - }; - } + DEPRECATED('Use jQuery(<function>) instead'); + jQuery(func); } /** @@ -168,6 +26,7 @@ function addInitEvent(func) { * inside a loop * * @author Adrian Lang <lang@cosmocode.de> + * @fixme Is there a jQuery equivalent? Otherwise move to somewhere else * @link http://www.cosmocode.de/en/blog/gohr/2009-10/15-javascript-fixing-the-closure-scope-in-loops * @param functionref fnc - the function to be called * @param mixed - any arguments to be passed to the function -- GitLab