2017-03-01 13 views
0

イベントが発生した後に、タイプ "load"(これは私がaddEventListener("load", function(event){...})を意味します)のEventListenerを追加するとどうなりますか?私のドキュメントの始めより、私はいくつかのPHPリクエストを寄付しています。その後、google-apiスクリプトがロードされているかどうかを判断するリスナーを追加しています。私は、スクリプトが既にロードされている場合にコールバックを呼び出すようにEventListenerをしたいと思います。これはデフォルトで行われますか?イベントが発生した後にeventlistener "load"を追加します

私のコードは、この

のhtml-docのです:

<script src="https://maps.googleapis.com/maps/api/js?key=...&callback&signed_in=true&callback=RoadtripsTable.drawRoadtripsOnMap"async defer></script> 

JS-DOC:

$.ajax({ 
    type: "POST", 
    url: "../PHP/RoadtripsTable.php", 
    data: ({ 
    fnChoice: "listRoadtrips" 
}), 
    success: function(result){ 
      head.addEventListener("load", function(event) { 
       if (event.target.nodeName === "SCRIPT") 
       { 
       /*now I would like to call the callback of the script tag in html*/ drawRoadtripsOnMap(); /* but what happens when the script was alread loaded?*/ 
       } 
      }, true); 

      } 
}); 
+1

いくつかのコードに、それはまた、jQueryのからのDeferredと連携 –

答えて

0

mあなたがあなたのコードで約束を使用している場合、Promiseはあなたのコードを実行する柔軟性を与えます。イベントが既に発生している場合でも、コールバックのようなイベントの発生後に実行するようにスケジュールされています)。

Javascript Promises

+0

歓声を投稿してください! :) – Nighel

+0

@Nighel Yup!それは動作しますが、私は約束が大好きです。 – nurulnabi

0

私は右のあなたを理解していれば、あなただけのGoogleマップがロードされているかどうかを確認する必要があります

if (google && google.maps) { 
    // google maps is loaded 
} 
関連する問題