Like this?:

function filterHandler(evt){this.fire('check:filter');}
$('filter').observe('keyup',
filterHandler).observe('click',filterHandler).observe('focus',
filterHandler).observe('blur', filterHandler);

See Observe Documentation: http://www.prototypejs.org/api/event/observe

As the Event.Observe function returns the element the event listener
is being applied too you can just call 'observe' in tandem. I also
created a function named 'filterHandler' that each event listener will
call as they all run the same code, this makes it easier if you wish
to make a change to the function and removes the (assumed) needless
repetition, however if you intend to call different functions with
each event listener use the code below:

$('filter').observe('keyup', function(evt)
{this.fire('check:filter');}).observe('click',function(evt)
{this.fire('check:filter');}).observe('focus', function(evt)
{this.fire('check:filter');}).observe('blur', function(evt)
{this.fire('check:filter');});

Hope this helps,

Chris


On Dec 23, 7:16 am, Walter Lee Davis <wa...@wdstudio.com> wrote:
> I have a quick filter for hiding list items until only matches show. I
> want to cover all the various ways that a user might interact with the
> search field, so I write this lovely:
>
>         $('filter').observe('keyup', function(evt){
>                 this.fire('check:filter');
>         });
>         $('filter').observe('click', function(evt){
>                 this.fire('check:filter');
>         });
>         $('filter').observe('focus', function(evt){
>                 this.fire('check:filter');
>         });
>         $('filter').observe('blur', function(evt){
>                 this.fire('check:filter');
>         });
>
> Is there any way to write this more clearly, as in with fewer lines of
> code?
>
> I'm using 1.6.latest, haven't tried the new 1.7 goodies yet. Would
> that help?
>
> Walter

-- 
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptacul...@googlegroups.com.
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en.

Reply via email to