From: Ryan Schmidt Date: Wed, 26 Nov 2008 02:55:24 +0000 (+0000) Subject: * Added complimentary function for addHandler() called removeHandler() for removing... X-Git-Tag: 1.31.0-rc.0~44197 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/categories/modifier.php?a=commitdiff_plain;h=2d6377fdc5969b9987176c65d9dd912daa0a1763;p=lhc%2Fweb%2Fwiklou.git * Added complimentary function for addHandler() called removeHandler() for removing events --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 3addd8f649..f496598899 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -214,6 +214,7 @@ The following extensions are migrated into MediaWiki 1.14: * Dropped old Paser_OldPP class. Only new parser with preprocessor is used. * Moved password reset form from Special:Preferences to Special:ResetPass * Added Special:ChangePassword as a special page alias for Special:ResetPass +* Added complimentary function for addHandler() called removeHandler() for removing events === Bug fixes in 1.14 === diff --git a/skins/common/wikibits.js b/skins/common/wikibits.js index 5e7905f019..11709e156d 100644 --- a/skins/common/wikibits.js +++ b/skins/common/wikibits.js @@ -44,11 +44,7 @@ function addOnloadHook(hookFunct) { } function hookEvent(hookName, hookFunct) { - if (window.addEventListener) { - window.addEventListener(hookName, hookFunct, false); - } else if (window.attachEvent) { - window.attachEvent("on" + hookName, hookFunct); - } + addHandler(window, hookName, hookFunct); } function importScript(page) { @@ -945,6 +941,21 @@ function addHandler( element, attach, handler ) { function addClickHandler( element, handler ) { addHandler( element, 'click', handler ); } + +/** + * Removes an event handler from an element + * + * @param Element element Element to remove handler from + * @param String remove Event to remove + * @param callable handler Event handler callback to remove + */ +function removeHandler( element, remove, handler ) { + if( window.removeEventListener ) { + element.removeEventListener( remove, handler, false ); + } else if( window.detachEvent ) { + element.detachEvent( 'on' + remove, handler ); + } +} //note: all skins should call runOnloadHook() at the end of html output, // so the below should be redundant. It's there just in case. hookEvent("load", runOnloadHook);