Инъекция Javascript после запуска события domready - PullRequest
0 голосов
/ 29 августа 2011

Я работаю в среде Joomla, но думаю, что это не является источником проблемы.

У меня есть представление, которое отображает подпредставления (содержащие код JavaScript, например <script type="text/javascript></script>) с помощью AJAX.Проблема в том, что код JavaScript игнорируется.Я предполагаю, что это потому, что его нет в документе, когда он загружается.

Вот код JavaScript, содержащийся в одном из подпредставления:

<script type="text/javascript">
    window.addEvent('domready', function() {
        $('annuler').addEvent('click', function() {
            var a = new Ajax(
                    '{$url}', 
                    {
                        method: 'get',
                        update: $('update')
                    }
            ).request();
        });
    });
</script>

Другой базовый пример, если я загружаюsubview со следующим кодом в нем, он также не будет работать:

<script type="text/javascript">
    function test()
    {
        alert('ok');
    }
</script>

<a id="annuler" onclick="test()">Annuler</a>

Я получаю следующее сообщение об ошибке: «тест не определен»

Я не могу найтирешение этой проблемы, поэтому я начинаю думать, что это не очень хороший способ использовать JavaScript ... и, да, я немного новичок в JavaScript на основе событий (с фреймворками и т. д.).

Ответы [ 2 ]

0 голосов
/ 16 сентября 2011

Мне, наконец, удалось поместить все подпредставления и код JavaScript на одной странице. Я использую свойство CSS display, чтобы скрыть / показать подпредставление (<div>) (вместо загрузки его с помощью Ajax).

0 голосов
/ 29 августа 2011

Поместите код, который вы хотите запустить в функцию, и вызовите функцию из готового блока

РЕДАКТИРОВАТЬ: Пример:

    $(document).ready(function() {
    // put all your jQuery goodness in here.
    });

Найдено здесь: http://www.learningjquery.com/2006/09/introducing-document-ready

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