Плагин JQuery tabs как подписаться нв событие перекл.вкладок
Ребят помогите пожалуйста. Вот есть такой такой горизонтальный аккордеон сдеалный с помощью виджета JQuery tabs
http://flowplayer.org/tools/demos/ta...orizontal.html (бывает сервер не доступен то вот код) <div id="accordion"> <p class="d">Пункт 1</p> <div> Содержание пункта 1 </div> <p class="d">Пункт 2</p> < <div> Содержание пункта 2 </div> <p class="d">Пункт 3</p> <div> Содержание пункта 3 </div> </div> и затем JavaScript $("#accordion").tabs("#accordion div", { tabs:'.d', effect:'horizontal' } ); Все работает и все хорошо но... как на него подписать событие клика (по картинке если вы смотриет приемер на сайте разработика) или на элемент class="d". То есть чтобы при перелистывании вызывалось событие. Если делаю так то глухо $("#accordion").tabs("#accordion div", { tabs:'.d', effect:'horizontal', select: function(event, ui) { alert("Cобытие"); } } ); А кроме описания этого события у виджета tabs вроде для переключения нет ничего select - событие tabsselect происходит в момент щелчка по ярлыку вкладки (при наведении указателя мыши на вкладку, если используется опция event: 'mouseover'). При щелчке на ярлыке активной вкладки ничего не происходит. Спасибо. |
Насколько я понял, проблема лишь в том, что при клике на активную закладку не вызывается желаемый callback?
UPD Еще можно восппользоваться опцией collapsible: $("#accordion").tabs("#accordion div", { tabs:'.d', effect:'horizontal', select: function(event, ui) { alert("Cобытие"); }, collapsible: true }); |
Я сделал так как Вы посоветовали алерта нет. У меня проблема в том что этот виджет я использую как главное меню во вкладках скрыты подпункты, при переключении вкладок я хочу отлавливать событие и перезаписывать контент. может это можно как то по другому сделать главное чтобы при щелчке по элементу с классом .d менялась вкладка и контент переисовывался Для этого мне нужно событие select.Или можно как то по другому. Пытался live (click и бл бл бл) не работает .
|
Цитата:
|
select сработает на ранее открытую вкладку только при установке collapsible. Попробуйте так:
$('.d').click(function(){$("#accordion").trigger('tabsselect')}) Но в этом случае будет два вызова события -- нужно это учитывать. UPD IIIEPJIOK, религия не позволяет делать всякие приблуды аля "гнусный workaround", если имеются методы плагина. |
e1f Cпасибо огромное выручил. Сейчас все работает так как я хотел.
Сделал $("#accordion").tabs("#accordion div", { tabs:'.d', effect:'horizontal' }); а потом как ты и говорил ('.d').click(function(){ $("#accordion").trigger('tabsselect'); здесь написал свой код я там выбираю парамет и запихиваю в аякс потом получаю хмлину и тулю в нужный див. Все работает как надо. }); Работает то оно работает только мог бы в двух словах объяснить КАК. я новичок в этом деле читал читал про триггер че то не особо въехал. Мог бы плиз на пальцах Спасибо за твою помощь, |
trigger просто вызывает определенные обработчики событий. Да, и для оптимизации, я бы проверил, чтобы не вызывалось 2 события tabsselect -- одно от плагина, второй от внешнего бинда на .click
|
Часовой пояс GMT +3, время: 05:13. |