0

我定义了这个函数

function updateMapMarker(inputValue)
{
    geocoder.geocode({'address': inputValue}, function(results, status) 
    {
        if (status == google.maps.GeocoderStatus.OK)
        {
            if (results[0])
            {
                placeMarker(results[0].geometry.location);
            }
            else
            {
                alert('No results found');
            }
        }
        else
        {
            alert('Geocoder failed due to: ' + status);
        }
    });
}

我在这样的输入中添加了一个按键事件:

$('#tutor_singin_address').keypress(function (e)
{
    if(e.keyCode==13)
    {
        updateMapMarker( $('#tutor_singin_address').val());
    }
});

但控制台抛出此错误:

Uncaught ReferenceError: updateMapMarker is not defined 

如何调用我的 js 函数?

4

1 回答 1

0

最简单的方法是定义一个附加函数作为事件处理程序:

function keyPressHandler(e) {
    if (e.keyCode == 13) {
        updateMapMarker($('#tutor_singin_address'));
    }
}

然后将该新函数附加为您的事件处理程序:

$('#tutor_singin_address').keypress(keyPressHandler);

我相信您的方式不是因为 JavaScript 处理范围和this关键字的棘手方式,但我自己还没有确认。给我一个机会!

于 2013-07-04T02:05:41.920 回答