<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tfwiki.duckdns.org/index.php?action=history&amp;feed=atom&amp;title=User%3ADerik%2Fjavascript</id>
	<title>User:Derik/javascript - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://tfwiki.duckdns.org/index.php?action=history&amp;feed=atom&amp;title=User%3ADerik%2Fjavascript"/>
	<link rel="alternate" type="text/html" href="https://tfwiki.duckdns.org/index.php?title=User:Derik/javascript&amp;action=history"/>
	<updated>2026-10-07T16:46:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://tfwiki.duckdns.org/index.php?title=User:Derik/javascript&amp;diff=224704&amp;oldid=prev</id>
		<title>Derik: New page: Hopefully this sandbox will eventually represent a documentation of the useful bits of our javascript; mediawiki-originated, cribbed from wikia and other sites, and original.   It is my fe...</title>
		<link rel="alternate" type="text/html" href="https://tfwiki.duckdns.org/index.php?title=User:Derik/javascript&amp;diff=224704&amp;oldid=prev"/>
		<updated>2009-03-23T09:38:41Z</updated>

		<summary type="html">&lt;p&gt;New page: Hopefully this sandbox will eventually represent a documentation of the useful bits of our javascript; mediawiki-originated, cribbed from wikia and other sites, and original.   It is my fe...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Hopefully this sandbox will eventually represent a documentation of the useful bits of our javascript; mediawiki-originated, cribbed from wikia and other sites, and original.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is my fervent wish that by documenting it thus, redundant code can be minimized.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==A-F==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;addClickHandler.2528.2Belement.252C.2BhandlerFunction.2B.2529&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;/wiki/User:Derik/javascript#addClickHandler.28_element.2C_handlerFunction_.29|addClickHandler( element, handlerFunction )&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - Same as [[User:Derik/javascript#addHandler.28_element.2C_event.2C_handlerFunction_.29|addHandler()]] (below) but a neater markup specific to click events.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;addHandler.2528.2Belement.252C.2Bevent.252C.2BhandlerFunction.2B.2529&amp;quot;&amp;gt;[[User:Derik/javascript#addHandler.28_element.2C_event.2C_handlerFunction_.29|addHandler( element, event, handlerFunction )&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - bind an elevent to an element.  Same as [[User:Derik/javascript#hookEvent.28hookName.2C_hookFunct.29|hoolEvent()]] but on an element-level rather than window-level.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;addHandler( elementNode, &amp;#039;keydown&amp;#039;, refreshSearch );&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;addOnloadHook.2528functionName.2529&amp;quot;&amp;gt;[[User:Derik/javascript#addOnloadHook.28functionName.29|addOnloadHook(functionName)&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - Adds a function to an array of functions that will be executed once the page is fully loaded.&amp;lt;br /&amp;gt;&lt;br /&gt;
To add the function &amp;quot;initSearch()&amp;quot;, the format is &amp;lt;tt&amp;gt;addOnloadHook(initSearch);&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;changeText.2528el.252C.2BnewText.2529&amp;quot;&amp;gt;[[User:Derik/javascript#changeText.28el.2C_newText.29|changeText(el, newText)&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - replaces the inner text of an element &amp;#039;&amp;#039;el&amp;#039;&amp;#039; with the &amp;#039;&amp;#039;newText&amp;#039;&amp;#039; provided&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 90%; margin: 0 auto .2em auto; background-color:#efefef; border: 2px solid #eeeeee; padding: 2px; text-align: left;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;This function uses the element.innerText attribute to perform this replacement.  It may mangle HTML?&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;escapeQuotes.2528text.2529&amp;quot;&amp;gt;[[User:Derik/javascript#escapeQuotes.28text.29|escapeQuotes(text)&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - Just what you&amp;#039;d expect, escapes quotes with backslashes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;escapeQuotesHTML.2528text.2529&amp;quot;&amp;gt;[[User:Derik/javascript#escapeQuotesHTML.28text.29|escapeQuotesHTML(text)&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - Just what you&amp;#039;d expect, escapes quotes with HTML entities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==G-M==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;getElementsByClassName.2528node.252C.2BtagName.252C.2BclassNameObj.2529&amp;quot;&amp;gt;[[User:Derik/javascript#getElementsByClassName.28node.2C_tagName.2C_classNameObj.29|getElementsByClassName(node, tagName, classNameObj)&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - returns an array of element nodes with the class found in &amp;#039;&amp;#039;classNameObj&amp;#039;&amp;#039; within the element &amp;#039;&amp;#039;node&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;tagName&amp;#039;&amp;#039; can also be used, or set to &amp;#039;*&amp;#039; to match all HTML tags.  &amp;#039;&amp;#039;classNameObj&amp;#039;&amp;#039; can (apparently) be either an array (with multiple classes) or a string  All variables are required.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039; &amp;lt;tt&amp;gt;getElementsByClassName(document, &amp;#039;sup&amp;#039;, Array(&amp;#039;reference&amp;#039;));&amp;lt;/tt&amp;gt; — retrieve all &amp;lt;sup class=&amp;quot;reference&amp;quot;&amp;gt; elements anyehere on the page.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039; &amp;lt;tt&amp;gt;getElementsByClassName(document.getElementById(&amp;#039;content&amp;#039;), &amp;#039;a&amp;#039;, &amp;#039;new&amp;#039;);&amp;lt;/tt&amp;gt; — retrieve all red links within the page-content area only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;getFirstHeading.2528.2529&amp;quot;&amp;gt;[[User:Derik/javascript#getFirstHeading.28.29|getFirstHeading()&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;Monacobook.js&amp;#039;&amp;#039; - Returns an element handle for the first H1 ont he page with a class &amp;#039;firstHeading&amp;#039;.  (The page title)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 90%; margin: 0 auto .2em auto; background-color:#efefef; border: 2px solid #eeeeee; padding: 2px; text-align: left;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;Based on showEras() from Wookiepedia, but our implementation is cleaner!&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;hookEvent.2528hookName.252C.2BhookFunct.2529&amp;quot;&amp;gt;[[User:Derik/javascript#hookEvent.28hookName.2C_hookFunct.29|hookEvent(hookName, hookFunct)&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - binds a function to a window-level event by hookName, where hookName is the common javascrit-internal name for that event-- &amp;#039;&amp;#039;minus&amp;#039;&amp;#039; the leading &amp;quot;on.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To bind the function &amp;quot;updateSearch()&amp;quot; to execution when a onkeydown event occurs, the format is &amp;lt;tt&amp;gt;hookEvent(keydown, updateSearch);&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;injectSpinner.2528.2Belement.252C.2BidString.2B.2529.253B&amp;quot;&amp;gt;[[User:Derik/javascript#injectSpinner.28_element.2C_idString_.29.3B|injectSpinner( element, idString );&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - Inserts an &amp;quot;in progress&amp;quot; spinner after the provided element for Ajax-y goodness.  You can remove it later with [[User:Derik/javascript#removeSpinner.28_idString_.29.3B|removeSpinner()]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 90%; margin: 0 auto .2em auto; background-color:#efefef; border: 2px solid #eeeeee; padding: 2px; text-align: left;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;The spinner graphic is very gay.&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;insertTags.2528tagOpen.252C.2BtagClose.252C.2BsampleText.2529&amp;quot;&amp;gt;[[User:Derik/javascript#insertTags.28tagOpen.2C_tagClose.2C_sampleText.29|insertTags(tagOpen, tagClose, sampleText)&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - Adds text to the edit window (when in edit mode) at the point of the cursor.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;tagOpen&amp;#039;&amp;#039; = add before selected text, &amp;#039;&amp;#039;tagClose&amp;#039;&amp;#039; = add after the selected text, sampleText = text to wedge between the two.  (example content the user will change.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To simply insert a tag, format is &amp;lt;tt&amp;gt;insertTags(&amp;#039;disambig&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;&amp;#039;);&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;jsMsg.2528.2Bmessage.252C.2BclassName.2B.2529&amp;quot;&amp;gt;[[User:Derik/javascript#jsMsg.28_message.2C_className_.29|jsMsg( message, className )&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - Pops a notice box up at the top of the page.  Functions just like you&amp;#039;d think...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==N-S==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;redirectToFragment.2528anchorName.2529.253B&amp;quot;&amp;gt;[[User:Derik/javascript#redirectToFragment.28anchorName.29.3B|redirectToFragment(anchorName);&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - scrolls the window to an anchor &amp;#039;&amp;#039;anchorName&amp;#039;&amp;#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
You will never use this, ever, it&amp;#039;s part of the redirect-to-subsection mechanism, which isn&amp;#039;t currently&amp;lt;sup&amp;gt;(Jan-14-09)&amp;lt;/sup&amp;gt; working on the site.  I&amp;#039;m only documenting so I can go back later and figure out &amp;#039;&amp;#039;why&amp;#039;&amp;#039; it&amp;#039;s not working, since we seem to have code related it installed. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;removeSpinner.2528.2BidString.2B.2529.253B&amp;quot;&amp;gt;[[User:Derik/javascript#removeSpinner.28_idString_.29.3B|removeSpinner( idString );&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - removes the &amp;quot;in progress&amp;quot; spinner added by [[User:Derik/javascript#injectSpinner.28_element.2C_idString_.29.3B|injectSpinner()]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;showFactions.2528.2BidString.2B.2529.253B&amp;quot;&amp;gt;[[User:Derik/javascript#showFactions.28_idString_.29.3B|showFactions( idString );&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;Monacobook.js&amp;#039;&amp;#039; - Looks for an element with the provided &amp;#039;&amp;#039;idString&amp;#039;&amp;#039;, then clones it into the first heading and changes its display mode to &amp;quot;block.&amp;quot;  (Used to display faction symbols.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 90%; margin: 0 auto .2em auto; background-color:#efefef; border: 2px solid #eeeeee; padding: 2px; text-align: left;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;Based on showEras() from Wookiepedia.&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==T-Z==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;toggle_element_activation.2528disable.252Cenable.2529&amp;quot;&amp;gt;[[User:Derik/javascript#toggle_element_activation.28disable.2Cenable.29|toggle_element_activation(disable,enable)&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - given two html element id strings (not the elements themselves!,) disables the first element and enables the second.  (Used for complicated forms.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;toggle_element_check.2528check.252C.2Buncheck.2529&amp;quot;&amp;gt;[[User:Derik/javascript#toggle_element_check.28check.2C_uncheck.29|toggle_element_check(check, uncheck)&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - given two element id strings that refer to &amp;#039;&amp;#039;checkboxes&amp;#039;&amp;#039;, checks the first element and unchecks the second.  (Used for complicated forms.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;&amp;lt;span id=&amp;quot;toggleVisibility.2528_levelId.252C.2B_otherId.252C.2B_linkId.2529&amp;quot;&amp;gt;[[User:Derik/javascript#toggleVisibility.28_levelId.2C_otherId.2C_linkId.29|toggleVisibility(_levelId, _otherId, _linkId)&lt;br /&gt;
&lt;br /&gt;
]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;IN:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;wikibits.js&amp;#039;&amp;#039; - toggles the element element in and out of visibility while alternately hiding/inlining the second two elements.  &amp;#039;&amp;#039;Used for the &amp;quot;enhanced&amp;quot; version of the [[Special:RecentChanges]] page.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==_-9==&lt;/div&gt;</summary>
		<author><name>Derik</name></author>
	</entry>
</feed>