Пользовательская функция jQuery не работает? - PullRequest
0 голосов
/ 15 ноября 2011

Я уже некоторое время разрабатываю сайт и зашел в тупик.

Не знаю почему, но функция, которую я сделал $.show_message, работает прекрасно, если я ее вызываюсразу после его инициализации в файле JavaScript.Но когда я пытаюсь вызвать его в событии onclick или где-либо еще, я получаю следующую ошибку:

Ошибка: попытка запустить скрипт compile-and-go в очищенной области действия

Исходный код: http://71.238.252.43/java/message.js

Я не могу вызывать сообщения любым другим способом, кроме как с помощью функции в конце файла JavaScript, и я расстраиваюсь.

Я пытался превратить функции $. в обычные функции, удаляя (function($){ вверху вместе с конечной частью внизу })(jQuery);, и, кажется, ничто не может это исправить.Я использую последнюю версию FireFox и 64-разрядную версию Windows 7.

Любая помощь по этому вопросу будет принята с благодарностью, так как у меня почти нет идей.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011

Вы объявляете свои функции внутри обработчика событий document.ready, если вы хотите, чтобы функции были доступны глобально (что необходимо, поскольку вы объявляете onclick события встроенными), затем попробуйте присоединить вашу функцию к $.fn объект: http://docs.jquery.com/Plugins/Authoring

Вы также можете привязывать свои события в обработчике событий document.ready, а не во встроенном.

0 голосов
/ 15 ноября 2011

Вы не можете использовать document.write() после загрузки страницы.Вместо этого добавьте элемент в DOM и напишите его innerHTML:

$("<div>").appendTo("body").html("Your HTML Here");

document.write() вызывается в $.check_first(), который вызывается $.show_message().

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