Как я могу решить проблему "Window.onDomReady не является функцией"? - PullRequest
0 голосов
/ 26 апреля 2011
<script type="text/javascript" src="<?php echo $this->baseurl; ?>/templates/mytemplate/javascript/min.js"></script>
<script type="text/javascript">
                                var mooTrans= Fx.Transitions.<?php echo $this->params->get('transition','Sine.easeOut') ?>;
                                window.addEvent('domready',function(){
                                new SmoothScroll({ duration: 500, transition: Fx.Transitions.linear}, window);
                                });
                                </script>

и это код в файле min.js:

Window.onDomReady(function() {new DropdownMenu($E('#hornav ul.menu'))});

Однако я получаю эту ошибку: Window.onDomReady не является функцией.

Можетпожалуйста, помогите мне понять, что я делаю не так?Thanx

Ответы [ 4 ]

4 голосов
/ 26 апреля 2011

Похоже, вы используете фреймворк MooTools и в вашем коде есть вызов addEvent для события domready:

window.addEvent('domready',function(){
    new SmoothScroll({ duration: 500, transition: Fx.Transitions.linear}, window);
});

В вашем файле min.js вы можете использовать тот же подход:

window.addEvent('domready',function(){
    new DropdownMenu($E('#hornav ul.menu'))}
});
3 голосов
/ 26 апреля 2011

Прежде всего, нет Window, а только window. Тогда нет атрибута onDomReady. Там может быть ondomready хотя. Тем не менее, лучше использовать фактическое связывание.

jQuery и другие JavaScript-фреймворки упрощают эту задачу, предоставляя вспомогательные методы для этого, например, $(document).ready(...);

1 голос
/ 26 апреля 2011

Вы используете MooTools. Правильный метод для прослушивания события DOMREADY следующий:

window.addEvent('domready',function() {new DropdownMenu($E('#hornav ul.menu'))});
0 голосов
/ 10 апреля 2013

После обновления с Joomla 1.5 до 2.5 я столкнулся с этой проблемой. Когда я использовал Firefox Tools> Developer> Web Console для проверки ошибки, она была вызвана неправильным кодом JS Joomla 1.5. Когда я пошел редактировать код, я увидел код Joomla 2.5 JS. Я просмотрел источник файла validate.js в браузере и обновил страницу, чтобы получить не кэшированный файл с сервера. Это сработало для меня. Так что это была проблема с кешированием.

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