2

ここでデモを行った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 でイベント をバインドする必要があります。

これを修正する方法について何か考えはありますか?

4

1 に答える 1

1

あなたが説明する動作は、global_close=0. $(element).clickover('show');デフォルトのオプションを設定しないでください。

$('.img-square').clickover().click();の代わりに使用し$('.img-square').clickover('show')ます。参照: http://bootply.com/66601およびhttps://github.com/lecar-red/bootstrapx-clickover/issues/42

于 2013-07-07T00:39:04.370 に答える