Пропустить функцию щелчка на основе динамически назначенного значения класса - PullRequest
1 голос
/ 13 июня 2011

У меня есть таблица, в которой отображаются дополнительные сведения о записи при ее нажатии. Детали находятся в дочернем элементе div с классом 'description'. У меня просто отлично переключается экспозиция, но я хотел бы избежать вызова функции click для уже экспонированных элементов (т.е. я не хочу повторно отображать то, что уже отображается).

Я пытался .bind и .live без удачи. По сути, я надеюсь, что есть какой-то способ, позволяющий «активировать» новое назначение класса в DOM.

Заранее спасибо за помощь!

Jquery

$(document).ready(function(){

        $('#libraryBrowser tbody tr:not(.exposed)').click(function(){
            $('.exposed').slideUp('fast');                                                          //hide previously shown element
            $(this).find('div.description').slideToggle('slow').addClass('exposed');                //show selected item's description, flag exposure
        });

});

1 Ответ

0 голосов
/ 13 июня 2011

я не хочу повторно отображать то, что уже отображается

Вы можете использовать is с :visible селектором фильтра, чтобы увидеть, виден ли элемент иэто значит, что вам просто нужно выйти из функции, используя return false что-то вроде этого:

if ('.yourelementclass').is(':visible')){
  return false;
}

Вам нужно вставить этот код непосредственно перед кодом, где вы фактически показываете изображение.

...