>웹 프론트엔드 >JS 튜토리얼 >Google Map V3 바인딩 버블 창(infowindow) Dom 이벤트 구현 code_javascript 기술

Google Map V3 바인딩 버블 창(infowindow) Dom 이벤트 구현 code_javascript 기술

WBOY
WBOY원래의
2016-05-16 17:35:121263검색

함수 모듈을 디버깅할 때 정보창에 추가된 div가 어떤 방법을 사용해도 이벤트에 바인딩될 수 없다는 것을 발견했습니다. 우울하다! 인터넷에서 여러 메소드를 검색해봐도 소용이 없었습니다.
생각한 후 공식 API를 확인해보니 google.maps.InfoWindow 아래의 이벤트에 domready 이벤트가 있다는 것을 발견했습니다

공식 설명
이 이벤트는 InfoWindow의 콘텐츠가 DOM에 첨부될 때 시작됩니다. 정보 창 콘텐츠를 동적으로 구축하는 경우 이 이벤트를 모니터링할 수 있습니다.
일반적인 의미는 InfoWindow입니다. 동적으로 추가된 Dom 요소가 완료된 후의 콜백 함수입니다.
JS는 단일 스레드 엔진이므로 DOM이 생성된 후에만 이벤트를 바인딩할 수 있습니다. 이는 이해하기 매우 간단합니다.
동료가 작성한 js 코드를 보면 setTimeout 등의 지연이 많이 있습니다. 스크립트의 원활한 실행이 이해되지 않았는지 몇 초의 지연 후에 실행될 것이라고 생각했습니다. .사실 문제는 엄청납니다. 어떤 스크립트를 먼저 실행하고 어떤 스크립트를 나중에 실행해야 하는지는 모두 순서대로입니다.
google.maps.event.addDomListener googleMap에서 제공하는 Dom 요소 이벤트를 수신하기 위한 코드

:

복사 code 코드는 다음과 같습니다.

google.maps.event.addListener(infowindow,"domready",function(){
var Cancel = document .getElementById(" 취소");
var Ok=document.getElementById("확인");
google.maps.event.addDomListener(Cancel,"click",function(){infowindow.close(); }); google.maps.event.addDomListener(Ok,"click",function(){infowindow.close();})
}); : https:// /developers.google.com/maps/documentation/javascript/3.exp/reference?hl=zh-cn
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.