Report abuse

observeOnce implementation

Element.addMethods({
  observeOnce: function(element, name, fn) {
    var wrapper = function(event) {
      this.stopObserving(name, wrapper)
      fn.call(this, event)
    }
    $(element).observe(name, wrapper)
  }
})

usage

draggable.observeOnce('mouseover', function(e) {
  new Draggable(draggable, { revert: true })
});