Here is the JS Object :
(function () { if(window.$DOM) return; var domObj = function (element, context) { return new domObj.fn.Init(context, element); }; domObj.fn = domObj.prototype = { Init: function (context, element) { this.element = element; if(!context) this.context = document; else this.context = context; } }, AddEvent: function (event, handler) { var object = this.element; if (!object) return; if (object.attachEvent) object.attachEvent('on' + event, handler); else if (object.addEventListener) object.addEventListener(event, handler, false); return this; }, RemoveEvent: function (event, handler) { var object = this.element; if (!object) return; if (object.detachEvent) { object.detachEvent("on" + event, handler); } else if (object.removeEventListener) { object.removeEventListener(event, handler, false); } return this; }, }; domObj.fn.Init.prototype = domObj.fn; window.$DOM = domObj; })();
Here I use it:
function click(){ alert("click!"); } $DOM("buttont").AddEvent("click", click); $DOM("buttont").RemoveEvent("click", click);
Do I understand correctly that 2 domObj.prototype.Init{this.element=...; this.context=...}
domObj.prototype.Init{this.element=...; this.context=...}
and AddEvent
and RemoveEvent
will be called from prototype
and passed to the created domObj.prototype.Init
as this ?
object
- it is better not to use as a variable name. But in general - terrible spaghetti ... The answer to your question is yes - timka_s