edo-htqw
Version:
A easier HTML element's dom operation libary.
44 lines (42 loc) • 1.25 kB
text/typescript
import edoTypeError from "./error/edoTypeError";
export default function (edo: { proto: (name: string, value: any) => boolean; [key: string]: any }) {
function prevent(event: Event) {
event.preventDefault();
}
function ob(val: object) {
const temp = { prevent };
for (let s in val) {
temp[s] = val[s];
}
return temp;
}
edo.proto('click', function (call: Function | null): boolean {
try {
if (call === null) {
this.el.onclick = null;
} else {
this.el.onclick = (event: MouseEvent) => {
const temp = ob({ 0: event });
call.call(this, temp);
};
}
return true;
} catch {
return false;
}
});
edo.proto('onEventL', function (n: string, l: Function): boolean {
if(!(l instanceof Function)){
throw new edoTypeError(`This type should is Function, fault ${Object.prototype.toString.call(l).split(' ')[1].replace(']', '')}`);
}
this.el.addEventListener(n, l);
return true;
});
edo.proto('offEventL', function (n: string, l: Function): boolean {
if(!(l instanceof Function)){
throw new edoTypeError(`This type should is Function, fault ${Object.prototype.toString.call(l).split(' ')[1].replace(']', '')}`);
}
this.el.removeEventListener(n, l);
return true;
});
}