[javascript] Google Maps API InfoWindow内の要素にイベントを追加する


0 Answers

Question

Google Maps API(v3)InfoWindowの中に入力フィールドと送信ボタンを含むフォームを配置したいと思います。

送信時に、入力フィールドに入力された住所を使用して案内サービスを開始する機能を呼びたいと思います。

私のコードはgetDirections()です(現在、方向イベントが発生しているかどうかテストしています)。完全なgetDirections()イベントを作成し、正常に起動すると、

私はこのようにMooToolsを使ってイベントリスナーを追加しようとしました:

var infoWindowContent   = "<b>Get Directions From...</b><br />"
                        + "<form id='map-form'>"
                        + "Address/Postcode: <input id='map-from-address' type='text' />"
                        + "<input type='submit' id='map-go' value='Go' />"
                        + "</form>";

var infoWindow = new google.maps.InfoWindow({
    content: infoWindowContent
});

google.maps.event.addListener(marker, 'click', function() {
    infoWindow.open(map, marker);
    dbug.log($("map-form"));
    $("map-form").addEvent("submit", getDirections);
});

function getDirections(event)
{
    dbug.log("getDirections");
    event.stop();
}

私のサイトのどこかでMooToolsを使用しているので、私はすべてのコードをwindow.addEvent('load', function(){...});

コンソールトレースdbug.log($("map-form"));注意してくださいdbug.log($("map-form")); フォーム要素を正しく出力していますが、イベントは発生していません。

同じイベントを別のフォーム(IDが異なる)にDOMに追加しても問題ありません。

だから、MooToolsが要素を見つけてイベントリスナーを追加したとしたら、イベントが発射されるのを防ぐのは何ですか? これは範囲の問題ですか?




Related