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 に答える