0

我有一个项目列表,当其中一个具有键盘焦点时,我想淡化它们。具有键盘焦点的那个不应该褪色。

我用悬停做了类似的事情,并像这样实现了它:

// Recede other locations when one is hovered.

$('li').hover( 
  function () {
    $('li:not(:hover)').addClass('recede');
  },
  function () {
    $('li').removeClass('recede');
  }
);

但是,我对类似事物的最佳尝试.focus()没有奏效......

// Recede other locations when one is focussed.
$('li').focus( function () {
  if (!$('li').is(":focus")) {
    $location_item_no_touch.addClass('recede');  
  }
});

$('li').blur( function () {
  $('li').removeClass('recede');
});

我尝试了几种不同的方法,但似乎很难获得:focus不添加.recede类的项目。有什么想法我哪里出错了吗?

4

2 回答 2

1

尝试这个:

// Recede other locations when one is focussed.
$('li').focus( function () {
    $('li').removeClass('recede');
    $(this).addClass('recede');  
});

$('li').blur( function () {
  $('li').removeClass('recede');
});

我想你.recede正在应用你需要的褪色。

于 2013-08-08T10:37:55.883 回答
0

尝试这个

.bind('keydown', function() { isClick = false; })

现场演示

于 2013-08-08T10:42:00.890 回答