OpenLayers 3を使用してマップインターフェイスを作成しています。ベクトルフィーチャーを選択すると、小さなコントロールパネル(ol.control.Control
を拡張)が表示されます。 Twitter Bootstrapを使用してこのコントロールパネルに複数のタブを追加しようとしていますが、タブスイッチを起動するために必要なイベントがBootstrapになっていないことがわかりました。私は、制御がCSSクラスol-overlaycontainer-stopevent
の<div>
に配置されているため、これが原因でBootstrapのリスナーがイベントを聞こえなくなっていることがわかりました。ol-overlaycontainer-stopeventでブートストラップタブにイベントが渡されない
ここには私がしようとしているもののstripped down JSFiddle exampleがあります。タブをクリックしても何も起こらないことがわかります。このイベントがブートストラップのタブリスナーに確実に届くようにするにはどうすればよいですか?
P.S.ブートストラップのソースコードから、それはリスナーがあなたがそうあなたのページにclick
イベントを追加しませんでした
$(document)
.on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
.on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
この思える関連します。http:/ /stackoverflow.com/questions/35043780/event-propagation-bootstrap-popover-openlayers-3 – kc9jud
あなたのフィドルでクリックリスナーを定義する瞬間はどれですか? –
@ jonatas-walker https://github.com/twbs/bootstrap/blob/master/dist/js/bootstrap.js#L2196 – kc9jud