You're right on - the target doesn't seem to get focus.  I'm applying
this to a li element though... would that cause the issue?

On Dec 17, 4:33 pm, brian <bally.z...@gmail.com> wrote:
> On Wed, Dec 17, 2008 at 4:05 PM, brian <bally.z...@gmail.com> wrote:
> > On Wed, Dec 17, 2008 at 2:31 PM, sshefer <shai.she...@gmail.com> wrote:
>
> >> Here is my current code:
>
> >>        $('.position_info').hover(
> >>          function(e) {
> >>                var target = $(e.target);
> >>            target.bind('keydown', 'space', function(){
> >>                  target.children('strong').toggle();
> >>                });
> >>          },
> >>          function(e) {
> >>                var target = $(e.target);
> >>                target.unbind('keydown', 'space');
> >>          }
> >>        );
>
> > the target.bind('keydown', 'space', ... won't work because you have to
> > pass an object. Similarly, unbind() takes an event type and a
> > function. You'll need to figure out which key has been pressed in your
> > handler function.
>
> > I'd do something more like this (yeah, I tested it and it doesn't work
> > but, anyway ...)
>
> > $('.position_info').hover(
> >        function(e)
> >        {
> >                var target = $(e.target);
> >                target.bind(
> >                        'keydown',
> >                        {combi:'space', disableinInput: true},
> >                        handler
> >                );
> >        },
> >        function(e)
> >        {
> >                var target = $(e.target);
> >                target.unbind('keydown');
> >        }
> > );
>
> > function handler(e)
> > {
> >        var target = $(e.target);
> >        target.children('strong').toggle();
> >        alert(e.data.combi);
> > }
>
> > Good luck.
>
> One thing I just thought of: you probably need to give the target
> focus because it won't ordinarily get that onHover and the keydown
> event might not be caught unless it has focus, first.
>
> target.focus();
>
> Add this to your page to ensure that, at least, is working:
>
> $('.position_info').focus(function(e){ var target = $(e.target);
> target.css('background', 'yellow'); });

Reply via email to