[latex]Mae govannen![/latex]
Diejenigen von euch, die sich seit längerem mit JavaScript herumschlagen mussten, habe sich mit der Zeit eventuell eine eigene Bibliothek von Skripten zugelegt.
Ich würde gerne sehen, was sich bei anderen so angesammelt hat. Dabei sollten die Skripte
Ich fange trivial an:
Aufgrund der fehlerhaften Arbeitsweise von typeof nutze ich folgende Funktionen:
function isObject(o) {
return (typeof o === 'object' && !(o instanceof Array) && o !== null);
}
function isArray(a) {
return (typeof a === 'object' && a instanceof Array);
}
Dann eine Array-Mischfunktion hier aus dem Forum
Array shuffle
Funktionen, um events hinzuzufügen / entfernen (glaube von molily im forum gepostet, leicht angepasst; habe leider keinen Thread-Verweis gespeichert)
function addEvent(obj, ev_type, fn) {
if (!obj || typeof ev_type !== "string" || typeof fn !== "function") {
return;
}
if (obj.addEventListener) {
obj.addEventListener(ev_type, fn, false);
}
else if (obj.attachEvent) {
obj.attachEvent('on' + ev_type, function() {
return fn.call(obj, window.event);
});
}
}
function removeEvent(obj, ev_type, fn) {
if (!obj || typeof ev_type !== "string" || typeof fn !== "function") {
return;
}
if (obj.removeEventListener) {
obj.removeEventListener(ev_type, fn, false);
}
else if (obj.detachEvent) {
obj.detachEvent('on' + ev_type, obj[ev_type + fn]);
obj[ev_type + fn] = null;
}
}
Ladefunktion, die eine Funktion auszuführt, sobald das Dokument verfügbar ist oder auf window.onload zurückfällt
function ondomcontent(func) {
/* Inspiriert von Dean Edwards/Matthias Miller/John Resig
http://dean.edwards.name/weblog/2006/06/again/#comment5338 */
var wol = window.onload;
/* Mozilla/Opera/... */
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", func, false);
}
/* Internet Explorer */
/*@cc_on @*/
if (/*@_win32 !== @*/false) {
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function () {
if (this.readyState === "complete") {
func(); // call the onload handler
}
};
}
/* Safari */
if (/WebKit/i.test(navigator.userAgent)) { /* sniff WebKit */
wk_timer = setInterval(function () {
if (/loaded|complete/.test(document.readyState)) {
func(); /* call the onload handler */
}
}, 10);
}
/* for other browsers */
if (typeof wol == "function") {
window.onload = function() {
wol();
func();
}
}
else {
window.onload = func;
}
}
Inhalt des Value-Attributes ermitteln
/** getElementValue(el)
* Internet-Explorer gibt z.B. bei Buttons nicht den Wert des Value-Attributes zurück, wenn das
* Button-Element einen Inhalt hat. In diesem Fall wird versucht, über eine RegExp den Inhalt des
* Value-Attributes aus outerHTML zu ermitteln.
* @param object el Referenz auf das Element, dessen Value-Wert ermittelt werden soll
* @return mixed Wert des Value-Attributes oder bei Mißerfolg der ursprüngliche Wert
*/
function getElementValue(el) {
if (el && el.value) {
if (el.value == el.innerHTML) {
var v = el.outerHTML.match(/value=\"(.+?)\"/i);
if (v && v[1]) return v[1];
}
return el.value;
}
return null;
}
Kai
--
Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?