Итак, базовая настройка, у меня есть три divs, каждая из которых содержит различный контент, который при загрузке страницы скрыт. В идеале пользователь нажимает на один из div, который расширяет его и отображает содержимое. Они нажимают на другой div, открытый закрывается и открывается один из них.Моя функция щелчка работает, когда она не должна быть
Проблема заключается в том, что я прямо ссылаюсь на класс, который требуется кликать, моя функция работает в классе, который является «unclickable».
EDIT: Добавлена jsfiddle для лучшей иллюстрации того, что я пытаюсь выполнить: http://jsfiddle.net/ev5ew41q/
Вот мой JavaScript:
$(function() {
$('.notContent').click(function() {
$(this).switchClass('notContent','isContent');
$('.isContent').switchClass('isContent','notContent');
});
});
CSS-за notContent (среди прочего) скрывает «[некоторые вещи здесь]». Предполагается, что javascript переключит «notContent» на «isContent» на клик, но ничего больше. Я пробовал использовать if/else, то же самое происходит. Не уверен, что я делаю неправильно.
[редактируется для плохой грамматики]
Ok, так что проблема в том, что мое событие все еще связан с DIV, даже если изменения класса? Я добавил jsfiddle, чтобы объяснить, что я пытаюсь сделать немного лучше. Я не могу скрыть div notContent прямо, к сожалению, ему нужно изменить классы. РЕДАКТИРОВАТЬ: Поразмыслив! Просто нужно добавить $ (this) .unbind(). Благодаря! – ChrisPEditor
@ChrisPEditor Если вы действительно хотите управлять им с помощью имени класса, вы всегда можете прослушивать корневой элемент, например. '$ (document) .on ('click', '.notContent', function() {...' – Matt