UI Tab загружает внешнюю страницу, jQueries больше не работает - PullRequest
0 голосов
/ 27 января 2010

У меня проблема при использовании вкладок пользовательского интерфейса и загрузке внешней страницы в tabcontent-DIV. Когда страница загружена, кажется, что все jQueries для этой страницы больше не работают. Я читаю что-то про обратные вызовы, но это не совсем понятно.

Пример: я загружаю внешнюю страницу с помощью ui-tabs, и загруженный контент содержит DIV, который должен автоматически скрываться как jQueried в index.html. Событие щелчка jQuery добавляется только для того, чтобы показать, что работает живое событие. Но я не могу заставить работать функцию автоматического скрытия после загрузки контента.

index.html

    <script type="text/javascript">

    jQuery(document).ready(function() {

        // define tabs
        $('#tabs').tabs();

        // after loading external page, the div "autohideafterload" will automatically hide.
        $('#autohideafterload').hide('slow'); 

        $('#autohideafterload').live('click', function() {
            $('#autohideafterload').hide('slow');
        });

    });

    </script>

</head>


<body>

    <div id="tabs">
        <ul>
            <li><a href="loadcontent.html" title="tabcontent"><span>Load data</span></a></li>
        </ul>
    </div>

    <div id="tabcontent"></div>

</body>
</html>

loadcontent.html

<div id="autohideafterload">This div will hide automatically after loaded this external page.</div>

Чего мне не хватает?

1 Ответ

1 голос
/ 27 января 2010

Свяжите свои события после запуска события загрузки вкладки ...

$('#tabs')
    .bind('tabsload', function(event, ui) {
        $('#autohideafterload').hide('slow'); 
    })
    .tabs();

Вы пытаетесь привязать элемент, который (пока) не существует. Вам нужно связать после загрузки предмета, и прослушивание события - лучший способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...