Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> изчезновение события, изчезновение события после загрузки окна 
V
    Опции темы
6axyc
Дата 5.12.2012, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 29.4.2008

Репутация: нет
Всего: нет



Всем доброго времени суток,
у меня такая проблеммка,
Код

<script type="text/javascript" src="../../jqwidgets/jqxtabs.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            // Create jqxTabs.
            $('#jqxTabs').jqxTabs({ width: 580, height: 200});

            var loadPage = function (url, tabIndex) {
                $.get(url, function (data) {
                    $('#content' + tabIndex).html(data);
                });
            }


            $('#jqxTabs').bind('selected', function (event) {
                var pageIndex = event.args.item + 1;
                loadPage('pages/ajax' + pageIndex + '.htm', pageIndex);
            });
            
            $('#but1').click(function(){
               $('#jqxTabs').jqxTabs('select', 1);
            })
        });
    </script>


в общем я использую библиотеку jqxTabs и сделал бинд на объект таб (селектед), и в то время когда объект выбирается то в него загружается страничка при помощи .html(data), предварительно data это продукт функции $.get().
проблемма заключается в том, что при первой загрузке "ивент селектед" срабатывает и при дальнейших нажатиях на табы.
а вот если я нажимаю на кнопку "but1", то в первый раз "селект" срабатывает, а в последующие уже нет.
Суть в том, что если я не загружаю юрл, а просто переключаю табы, то ивент "селект" постоянно срабатывает.
Я понимаю, что при загрузке юрл в табе, я изменяю чтото, но я никак не могу понять, что мне нужно изменить, чтобы ивент сохранился.
Надеюсь я нормально описал суть проблеммы.
Посиба.
PM MAIL   Вверх
skyboy
Дата 6.12.2012, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



я не знаю, как устроена структура страницы. могу лишь догадываться, что в процессе $('#content' + tabIndex).html(data); ты убираешь/перезаписываешь элемент #jqxTabs
Так делать не надо, разберись, куда тебе надо загружать
PM MAIL   Вверх
6axyc
Дата 6.12.2012, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 29.4.2008

Репутация: нет
Всего: нет



Да я это уже понимаю, но не понимаю как именно это дело сделать.
PM MAIL   Вверх
ksnk
Дата 6.12.2012, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



вместо этого
Код

$('#jqxTabs').bind('selected' ...

можно написать так
Код

$(document).on('selected','#jqxTabs'...

вместо document нужно бы использовать ближайший не меняющийся ajax'ом элемент-парент #jqxTabs'а


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
skyboy
Дата 6.12.2012, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



Цитата(ksnk @  6.12.2012,  05:39 Найти цитируемый пост)
можно написать так

разве selected — это не user defined событие? onclick, как я понимаю, привязывается внутри вызова $('#jqxTabs').jqxTabs({ width: 580, height: 200});
впрочем, посмотрим, что автор скажет
PM MAIL   Вверх
6axyc
Дата 6.12.2012, 13:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 29.4.2008

Репутация: нет
Всего: нет



ksnk,
Код

$(document).on('selected','#jqxTabs'...


Работает также как и 

Код

$('#jqxTabs').bind('selected' ...


После дебага я нашел где именно происходит ошибка.
Во время того как я пытаюсь сделать "select", то происходит обращение к jqxcore.js.
И поиск елемента "div#jqxTabs.jqx-tabs" в "jqxTabs", и в моем случае прежде, чем я первый раз загружаю .html(), 
я получаю требуемый объект, а после я всегда получаю undefined.
как я понял, мой объект "табы", изчезает из списка объектов при загрузке .html().
а когда я физичесски нажимаю на него то всеголишь срабатывает мой .bind().
вывод таков, могу конечно и ошибаться.
объект после загрузки .html(), остается существовать в body страницы, но изчезает из колекции объектов "jqxTabs".
есть идеи?
PM MAIL   Вверх
6axyc
Дата 6.12.2012, 21:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 29.4.2008

Репутация: нет
Всего: нет



Всем спасибо, я нашел проблемму.
Проблемма в том, что во внутырь "таба", я загружал страницу, в которой есть "референс" к библиотеке JQuerry,
И это создавало проблемму, так как в главной странице уже есть "референс", в общем я убрал его с загружаемой странички и все работает.
Спасибо всем за помощь.
Если кто сможет объяснить почему это происходит, буду благодарен.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0736 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.