Запустите JQuery Dialog с Ajax-сгенерированной ссылкой - PullRequest
1 голос
/ 09 декабря 2011

У меня есть div, который не имеет содержимого.содержимое динамически загружается в div через jquery load ().Этот контент содержит ссылки.Я использую jquery для загрузки всех ссылок в функции для запуска диалога, но он не работает, потому что ссылки не отображаются в источнике.Любой обходной путь к этому?

<code><pre>
        <script type="text/javascript">
        $(document).ready(function() {
            var $loading = $('<img src="loading.gif" alt="loading" class="loading">');

        $('#maindiv a').each(function() {
            var $dialog = $('<div></div>')
                .append($loading.clone());
            var $link = $(this).one('click', function() {
                $dialog
                    .load($link.attr('href') + ' #content')
                    .dialog({
                        title: $link.attr('title'),
                        width: 500,
                        height: 300
                    });

                $link.click(function() {
                    $dialog.dialog('open');

                    return false;
                });

                return false;
            });
        });
    });
    </script>

1 Ответ

0 голосов
/ 09 декабря 2011

Вам необходимо использовать ключевое слово .live, чтобы можно было прикреплять события к сгенерированному html.

в jquery 1.7 (я думаю) .live теперь .on, так что следите за этим.

$(".Link").live("click", function(){
  //code here
});

или

$("a").live("click", function(){
  //code here
});

Возможно, вы захотите удалить поведение ссылки по умолчанию при нажатии на нее.

http://api.jquery.com/event.preventDefault/

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