вызов tooltip() сворачивает accordion после перезагрузки
На странице есть несколько экспандеров accordion.
В некоторых из них к строкам таблицы необходимо применить tooltip. Для всех экспандеров запоминается их состояние, если пользователь покидает страницу и при следующем посещении страницы для этого пользователя все что он оставил свернутым - отображается свернутым, все что он развернул - развернуто. Поблема После вызова tooltip(), те экспандеры, которые содержат строки с подсказкой, после перезагрузки страницы находятся всегда в свернутом виде. Не могу разгадать эту магию, помогите, пожалуйста. |
Ты бы еще картинку из сказки "Как Иван мучал щуку" запостил. Короче, по щучьему велению, по моему хотению, скрывайтесь экспандеры. Иди проверяй.
|
warren buffet, если тебе чем-то не нравятся картинки, то можешь на них не смотреть. Сотрясать воздух каждый может. Если есть желание помочь, но не понятно описание проблемы, то можно конкретизировать что именно непонятно. Или просто лишь бы что-нибудь написать?
|
Он хотел сказать что по картинкам мы тут не шаманим, каким образом мы тут угадаем что не так и кто такой tooltip()? :)
|
Spass,
Цитата:
|
Покажите тогда и код где этот tooltip вызывается
|
Spass,
$("[rel='tooltip']").mouseover(function() { $("[rel='tooltip']").tooltip({ container: 'body'}); }); Дело не в самом тултипе, он работает отлично, дело в том, как вызов тултипа влияет на экспандер. Если закомментировать строку вызова tooltip или просто не наводить мышь на строку таблицы, то экспандер работает в обычном режиме. Но стоит только вызвать тултип, как после первого обновления страницы экспандер свернется и будет сворачиваться после каждого обновления. |
Я правильно понял, tooltip инициализируется только после наведения мыши на элемент? Но вы хотите чтобы оно работало сразу после загрузки страницы?
|
Нет, tooltip и должен инициализироваться после наведения мыши на элемент. Я хочу чтобы при этом не сворачивался экспандер, внутри которого размещен этот элемент.
|
Показывайте тогда и код разворачивания экспандера. :)
|
tooltip можно инициализировать сразу после загрузки страницы, попробуйте сразу повесить его а потом уже раскрывать нужные экспандеры.
|
Spass,
вот описание самого экспандера: http://v4-alpha.getbootstrap.com/components/collapse/ разворачивается через якорь, очень громоздко будет копировать код |
Если инициализировать tooltipпосле загрузки страницы ничего не меняется. Суть в том, что экспандер запоминает состояние, в котором его пользователь оставил последний раз, но после инициализации tooltip, он игнорит это состояние и сворачивается
|
Может вы можете выложить работающий пример и дать ссылку?
Каким образом он "запоминает"? |
В куки записывается состояние экспандера
Проблема решена вызовом функции stopPropagation() для события показа tooltip. .tooltip({ container: 'body', }).on('show', function (e) { e.stopPropagation(); }); Видимо из-за вызова тултипа состояние экспандера не могло перезаписаться, поэтому он был всегда свернут. Spass, спасибо, что попытались вникнуть в суть проблемы! |
Цитата:
В любых отношениях с куками, надо сперва смотреть ЧТО там записалось и потом смотреть КАК прочиталось, ибо записаться может что угодно, куки можно изменить как угодно и прочитается хрен знает что. И еще, можно подумать браузер устанет писать в куки после каждого нажатия, типа у него ручки отвалятся, поэтому мы должны сделать onbeforeunload. ))) |
Часовой пояс GMT +3, время: 07:35. |