How to use Function.delay

Saw jQuery doTimeout (http://benalman.com/code/projects/jquery-dotimeout/examples/debouncing/) and couldn't help myself ...

by rpflorence

HTML

<p id=mirror>Type Stuff!</p>
<p><input type=text id=input></p>
<p id=mirrormirror>Type Stuff!</p>

JavaScript

var default_text = $('mirror').get('text')

$('input').addEvent('keyup', function(){
    var mirror = $('mirror')
    // obj.method(args)
    // becomes ...
    // obj.method.delay(milliseconds, bind, args)
    mirror.set.delay(250, mirror, ['text', this.get('value') || default_text])
});

// or

$('input').addEvent('keyup', function(){
    (function(){
        $('mirrormirror').set('text', this.get('value') || default_text)
    }).delay(500, this)
});