Google Maps APIオートコンプリートの動的に作成されたpac-container divへのクリックイベントの伝播を止めようとしています。同様の質問が既に出されていますが、答えがうまくいかない google places api autocomplete - adding click eventGoogle Maps APIオートコンプリートのpac-container divのクリックイベント
解決策は、クリックイベントがオートコンプリートによってキャンセルされ、代わりにmousedownイベントを使用することです。それは技術的にはうまくいっていましたが、ドキュメントの出来事をクリックからマウスに変更する必要がありました。これは私がしたくない犠牲です。
私はGoogleマップのAPIイベントを調べましたが、オートコンプリートは 'place_changed'イベントのみを送信します。以下のpac-container divでの伝播を停止する私のコード。
var pacContainers = document.getElementsByClassName("pac-container");
angular.forEach(pacContainers, function(value, key) {
// the click event is cancelled by the Autocomplete instance
angular.element(value).on('click', function($event) {
$event.stopPropagation();
});
});
Googleマップのpac-container divでpacContainerディレクティブをインスタンス化するにはどうすればよいですか?彼らは角の外側から追加されているので、角は$ compileでそれらについて知りません。 –
また、pacContainerディレクティブをインスタンス化できた場合、Googleマップのオートコンプリートが「キャンセル」している同じクリックイベントを操作しようとしていませんか? –
もちろん、良い点。同じ問題があります。私は、推奨される解決策で別の回答を追加します。 –