Custom events could help:
// use custom event as a proxy
$(someInput).observe('change', function()
{ this.fire('content:changed') });
...
doIncrement : function() {
this.inputBox.setValue((parseFloat($F(this.inputBox)) +
0.1).toFixed(1));
// fire custom event
this.inputBox.fire('content:changed');
this.timeoutEvent = setTimeout( this.doIncrement.bind(this), 150 );
},
...
// observe custom "content:changed" instead of "change"
$(somInput).observe('content:changed', function(e) {
// do stuff
})
You could also take a look at Event#simulate
http://github.com/kangax/protolicious/tree/master/event.simulate.js
- kangax