汎用モジュールをデバッグしているときに、情報ウィンドウに追加された div をどのメソッドを使用してもイベントにバインドできないことがわかりました。憂鬱だ!インターネットで色々と方法を調べてもダメでした
悩んだ末に公式APIを確認したところ、google.maps.InfoWindow
のイベントにdomreadyイベントがあることが分かりました。公式説明:
このイベントは、情報ウィンドウのコンテンツを含む が DOM にアタッチされるときに発生します。情報ウィンドウのコンテンツを動的に構築している場合は、このイベントを監視するとよいでしょう。一般的な意味は InfoWindow 動的に追加された Dom 要素が完了した後のコールバック関数です。
JS はシングルスレッド エンジンです。これは非常に簡単に理解できるはずです。
同僚が書いたjsコードを見ると、setTimeoutなどの遅延が多く、数秒遅れて実行されると思っていたのですが、スクリプトのスムーズな実行が理解できなかったのだと思います。 . 実際、問題は大きいです。どのスクリプトを最初に実行するか、どのスクリプトを後で実行するかはすべて順番に決まります。
google.maps.event.addDomListener googleMap が提供する Dom 要素イベントをリッスンするためのコード
: