1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| // Transform a string into a char array
var toCharArray = function(str) {
str=String(str);
var result = [];
for (var i=0; i!=str.length; i++) {
result[i]=str.charAt(i);
}
};
// Transform a string into a number array
var toCharCodeArray = function(str) {
str=String(str);
var result = [];
for (var i=0; i!=str.length; i++) {
result[i]=str.charCodeAt(i);
}
};
// Do something asynchronously
var async = function(func) {
setTimeout(func, 0);
};
// Show some message to the user but continue to execute the code
var asyncAlert = function(txt) {
setTimeout(function() { alert(txt); }, 0);
};
// Add an error to the console but continue to execute the code
var asyncThrow = function(ex) {
async(function() {
throw ex;
});
};
// Create a delegated function
var createDelegate = function(obj, func) {
return function() { return func.apply(obj, arguments); }
}
// Attach an event
var addHandler = function(obj, ev, func) { // IE
if(obj.attachEvent) { obj.attachEvent('on'+ev, func); }
else if (obj.addEventListener) { // FF, OP, SF, ...
obj.addEventListener(ev, func, true);
} else { // Old browsers
var oldHandler = obj['on'+ev];
obj['on'+ev] = function() {
var returnValue = true;
try {
if (oldHandler.apply(obj, arguments) === false) {
returnValue = false;
}
} catch (ex) {}
try {
if (func.apply(obj, arguments) === false) {
returnValue = false;
}
} catch (ex) {}
return returnValue;
}
}
} |
Partager