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