Пропустить функцию щелчка, основанную на динамически назначенном значении класса

У меня есть таблица, которая показывает дополнительные детали записи, когда ее нажимают. Детали находятся в дочернем элементе 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 ответ

Решение

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

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

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

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

Другие вопросы по тегам