私は現在、openlayers を広く使用する Web サイトを設計しています。マップにはさまざまなベクター マーカーが配置されており、ユーザーがマーカーをクリックするとポップアップが表示されます。このポップアップ内には、ライトボックス用に設定された画像がいくつかあります。唯一の問題は、サムネイルをクリックすると画像が新しいウィンドウで開くことです (つまり、リンクのライトボックスによるイベント認識がありませんでした)。ポップアップの外でテストしたので、ライトボックスの html はまったく問題ありません。
ポップアップでライトボックスが機能するようにしたいと思います。どんな助けでも大歓迎です。これが私のコードです:
作成されたポップアップ:
function onFeatureSelect(feature) {
selectedFeature = feature;
popup = new OpenLayers.Popup.AnchoredBubble("PopUp",
feature.geometry.getBounds().getCenterLonLat(),
null,
null,
null, true, onPopupClose);
popup.setContentHTML('<div><a href="large_image.png" rel="lightbox"><img src="thumb_image.png" /></a></div>');
feature.popup = popup;
map.addPopup(popup);
}
Lightbox.js
クリックリスニングに関する抜粋:
updateImageList: function() {
this.updateImageList = Prototype.emptyFunction;
document.observe('click', (function(event){
var target = event.findElement('a[rel^=lightbox]') || event.findElement('area[rel^=lightbox]');
if (target) {
event.stop();
this.start(target);
}
}).bind(this));
},
読んでくれてありがとう。どんな助けでも大歓迎です。