触发了JQuery事件但未调用处理程序

时间:2014-04-25 10:53:07

标签: javascript jquery pug typeahead.js

我使用typeahead-addresspicker jquery插件为用户提供自动填充字段和地图以选择位置。

插件工作正常,可以找到任何地址或位置,并在地图上放置标记。但是,当设置地址时,我想将Google地理编码值插入表单字段中。为此,我听地址选择器:在代码中触发但未执行处理程序的选定事件。

script(src='/js/lib/jquery/jquery-2.1.0.min.js')
script(src='/js/lib/typeahead/typeahead.js')
script(src='/js/lib/typeahead/typeahead-addresspicker.js')
script.
    $.noConflict();
    jQuery(document).ready(function($) {
        var addressPicker = new AddressPicker({map: {id: '#map', options:{center: new google.maps.LatLng(51.0360272, 3.7359072), zoom: 8}},
            marker: {draggable: true, visible: true, position:new google.maps.LatLng(51.0360272, 3.7359072)},
            zoomForLocation: 18,
            reverseGeocoding: true});
        $('#address').typeahead(null, {
          displayKey: 'description',
          source: addressPicker.ttAdapter()
        });
        addressPicker.bindDefaultTypeaheadEvent($('#address'));
        $(addressPicker).on('addresspicker:selected', function (event, result) {
            $('#lat_input').val(result.lat());
            $('#lng_input').val(result.lng());
            $('#number_input').val(result.nameForType('street_number'));
            $('#name_input').val(result.nameForType('premise'));
            $('#street_input').val(result.nameForType('street_address'));
            $('#suburb_input').val(result.nameForType('locality'));
            $('#state_input').val(result.nameForType('administrative_area_level_1'));
            $('#postcode_input').val(result.nameForType('postal_code'));
            $('#country_input').val(result.nameForType('country'));
        });
    });

我是否遗漏了有关Jquery事件的内容?

1 个答案:

答案 0 :(得分:0)

修正了它,它是noConflict()函数。删除它,它工作正常。