var Jade = {};
Jade.util = {
addEvent: function (target, eventType, eventHandle, param) {
//deal param
var regEventHandle = eventHandle
if(param) {
regEventHandle = function() {
eventHandle.call(this, param);
}
}
if (! +"\v1") {
target['e' + eventType + regEventHandle] = regEventHandle;
target.attachEvent('on' + eventType, function () {
target['e' + eventType + regEventHandle]();
});
} else {
target.addEventListener(eventType, regEventHandle, false);
}
}, // addEvent
// detach event
removeEvent: function (target, eventType, eventHandle) {
if (target.removeEventListener) { //w3c
target.removeEventListener(eventType, eventHandle, false);
} else if (target.detachEvent) { // ie
target.detachEvent("on" + eventType, eventHandle);
} else {
target["on" + eventType] = null;
}
}, // removeEvent
addEvents: function (target, eventTypes, fn) {
types = types.split(",");
for (var i = 0; i < types.length; i++) {
this.addEvent(target, types[i], fn);
}
}, // addEvents
$$ : function(id) {
return !id ? null : document.getElementById(id);
},
insertRange : function(el,content) {
var range,curPosition;
if(! +"\v1") {
range = document.selection.createRange();
range.moveStart("character", -el.value.length);
curPosition = range.text.length;
}else {
curPosition = el.selectionStart;
}
var v = el.value;
el.value = v.substr(0,curPosition) + content + v.substr(curPosition,v.length);
},//textRange
$C : function(classname,ele,tag) {
var returns = [];
ele = ele || document;
tag = tag || '*';
if(ele.getElementsByClassName) {
var eles = ele.getElementsByClassName(classname);
if(tag != '*') {
for(var i=0, L=eles.length; i<L; i++) {
if(eles[i].tagName.toLowerCase() == tag.toLowerCase()) {
returns.push[eles[i]];
}
}
}else {
returns = eles;
}
}else {
eles = ele.getElementsByTagName(tag);
var pattern = new RegExp("(^|\\s)"+classname+"(\\s|$)");
for (i = 0, L = eles.length; i < L; i++) {
if (pattern.test(eles[i].className)) {
returns.push(eles[i]);
}
}
}
return returns;
},//getElementsByClassName
};
Jade.webhttp = {
}