Jquery. Вызвать функцию при нажатии на ссылку
Всем привет. Не силен в JS, помогите разобраться
Дано: Имеется функция JS которая вызывает список городов. Подключается в header ввиде js файла
GeoIPModule.prototype.loadCities = function(callback) {
var self = this;
if (!this.citiesLoaded) {
$.ajax({
url: self.http_host + 'index.php?route=extension/module/geoip/getList',
dataType: 'html',
success: function(html) {
self.chooseBlock.html(html);
var input = self.chooseBlock.find('.geoip-popup-input');
self.autocomplete(input, self.chooseBlock.find('.geoip-body'));
input.siblings('ul.dropdown-menu').css({'maxHeight': 300, 'overflowY': 'auto', 'overflowX': 'hidden'});
input.focus();
self.citiesLoaded = true;
callback.apply();
}
});
}
};
Задача: Необходимо вызвать функцию, т.е. вызвать список городов, при нажатии на ссылку в любой части документа
Пытаюсь сделать это:
<a href="javascript:void(0);" id="load-сities">ССЫЛКА</a>
<script type="text/javascript">
$("#load-сities").click(function(e) {
GeoIPModule.prototype.loadCities();
});
</script>
Но получаю ошибку: ReferenceError: GeoIPModule is not defined
Полный скрипт jsfiddle.net/3L604e7m
Ответы (1 шт):
Автор решения: Victor Gorban
→ Ссылка
Есть три возможные проблемы:
- Неверный порядок вызова скриптов (вы вызываете скрипт до того, как был инициализирован
GeoIPModule) - Вы определили
GeoIPModuleлокально, а не глобально, и поэтому второй скрипт не видитGeoIPModule - Вы где-то ошиблись в синтаксисе.
Предоставьте полный код страницы, тогда я смогу воспроизвести проблему и дать точный ответ.