diff --git a/source/Ox/js/DOM.js b/source/Ox/js/DOM.js index 9d946164..2c66b791 100644 --- a/source/Ox/js/DOM.js +++ b/source/Ox/js/DOM.js @@ -88,21 +88,6 @@ Ox.$ = Ox.element = function(value) { return ret; }, /*@ - bind Binds a callback to an event - (event, callback) -> This element - ({event0: callback0, event1: callback1, ...}) -> This element - event Event name - callback Callback function - e Event properties - @*/ - bind: function() { - var that = this; - Ox.forEach(Ox.makeObject(arguments), function(callback, event) { - that[0].addEventListener(event, callback); - }); - return this; - }, - /*@ css Gets or sets a CSS attribute (key) -> Value (key, value) -> This element @@ -168,6 +153,21 @@ Ox.$ = Ox.element = function(value) { return ret; }, /*@ + on Binds a callback to an event + (event, callback) -> This element + ({event0: callback0, event1: callback1, ...}) -> This element + event Event name + callback Callback function + e Event properties + @*/ + on: function() { + var that = this; + Ox.forEach(Ox.makeObject(arguments), function(callback, event) { + that[0].addEventListener(event, callback); + }); + return this; + }, + /*@ one Binds a callback to an event and unbinds it on first invocation (event, callback) -> This element ({event0: callback0, event1: callback1, ...}) -> This element @@ -178,14 +178,33 @@ Ox.$ = Ox.element = function(value) { one: function(events) { var that = this; Ox.forEach(Ox.makeObject(arguments), function(callback, event) { - that.bind(event, function fn() { - that.unbind(event, fn); + that.on(event, function fn() { + that.off(event, fn); callback(); }); }); return this; }, /*@ + off Unbinds a callback from an event + (event) -> This element (unbinds all callbacks) + (event, callback) -> This element + ({event0: callback0, event1: callback1, ...}) -> This element + event Event name + callback Callback function + @*/ + off: function(event, callback) { + var that = this; + Ox.forEach(Ox.makeObject(arguments), function(callback, event) { + if (callback) { + that[0].removeEventListener(event, callback); + } else { + that[0]['on' + event] = null; + } + }); + return this; + }, + /*@ remove Removes this element from the DOM () -> This element @*/ @@ -228,25 +247,6 @@ Ox.$ = Ox.element = function(value) { return this.css({display: 'block'}); }, /*@ - unbind Unbinds a callback from an event - (event) -> This element (unbinds all callbacks) - (event, callback) -> This element - ({event0: callback0, event1: callback1, ...}) -> This element - event Event name - callback Callback function - @*/ - unbind: function(event, callback) { - var that = this; - Ox.forEach(Ox.makeObject(arguments), function(callback, event) { - if (callback) { - that[0].removeEventListener(event, callback); - } else { - that[0]['on' + event] = null; - } - }); - return this; - }, - /*@ val Gets or sets the value property of this element () -> Value (value) -> This element