Jquery。单击 link 时调用函数

Jquery. Call a function when clicking on a link

鉴于:有一个调用城市列表的JS函数。作为 js 文件

包含在 header
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();
                }
            });
        }
    };

任务:需要调用函数,即点击文档任意部分link调出城市列表

尝试这样做:

<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

完成脚本https://jsfiddle.net/3L604e7m

如果您希望 GeoIPModule 全局可用,您可以在 window 上设置 属性。目前,它仅在立即调用的函数表达式中可见。

window.GeoIPModule = function(o, el){
  //...
}

JSFiddle