ここでデモを行ったbootstrapXクリックオーバーを使用しています:http://www.leecarmichael.com/bootstrapx-clickover/examples.html
<img class="img-circle" src="something" alt="something"
rel="clickover"
onclick="loadData(this, somedata)" />
loadData(element, somedata){
if(!$(element).attr('data-content')) {
// build clickover flyout html
$(element).clickover('show');
} else {
// do nothing clickover is already attached
}
}
これは機能します...ほとんど。
初めて画像要素をクリックすると、画像をクリックしてクリックオーバーを閉じる必要があります。それ以外の場合は、他のクリックオーバーをクリックして開いたり、ページの本文をクリックしても閉じません。
クリックオーバーを表示する次のクリックは、他の場所をクリックすることで非表示にすることができます。他のすべてのクリックオーバーを閉じようとしたり、クリックイベントのバインドを解除したりしましたが、成功しませんでした。loadData
このコードはループで実行され、このデータは非常に一意に識別できない要素に固有であるため、クリックオーバーの onShown として javascript ではなく html でイベント をバインドする必要があります。
これを修正する方法について何か考えはありますか?