2016-12-11 6 views
1

私は動的にポピュレートされたテーブルを持っており、各テーブル行にwebui-popoverを追加しました。それが見えるようにするには、リンク項目をクリックする必要があります。私は可視性を制御するために手動トリ​​ガを使用しています。フォーカスしていないときにwebui-popoverを非表示にする方法(JQuery)

ただし、私の問題は、1つのポップオーバーが表示されているときに、ポップエリア外をクリックするとそのポップオーバーを非表示にすることができないということです。ドキュメントでは、却下可能なものはtrueに設定されていますが、これは動作しません。どんな助けもありがとうございます。ダイナミックなポップオーバー、私はマウスが対象ではありません一度それを隠すようにする必要があり

var more = document.getElementsByClassName('more'); 

for (var i = 0; i < more.length ; i++) { 

    var fid, uplid; 

    more[i].onclick = function(){ 

    fid = this.dataset.fid; 
    uplid = this.dataset.uplid; 

    //Popover 
    $('#' + fid).webuiPopover({ 
     content: function(){ 
     var html = '<div id="pop-content">'; 
     html += '<a href="core/upload/'+fid+'/'+uplid+'" class="collection-item active">Edit</a>'; 
     html += '</div>'; 
     return html; 
     }, 
     trigger: 'manual', 
     dismissible: true, 
     style: 'v2', 
     placement: 'bottom-left', 
     animation: 'pop', 
     width: '180', 
     cache: false 
    }); 

    //Once the values have been passed, show the popover 
    $('#' + fid).webuiPopover('show'); 
    } 
} 

、任意のアイデアを示すため

//Sample html 
<tr> 
    <td>name</td> 
    <td><a class="more" id="'.$id.'" data-fid="'.$fid.'" data-uplid="'.$uplid.'" href="javascript:void(0);"><i class="material-icons">more_horiz</i></a></td> 
    </tr> 

Javascriptを?

答えて

1

あなたが使用する必要があります。他に

trigger: 'click' 

、 'onclickの' イベントリスナーとあなたのポップオーバーのコンテンツをカプセル化する機能削除:R.Costa @

JSFIDDLE

+1

こんにちは、私はあなたのアプローチを試してみましたそれはすべての人のための最初のIDだけを示しています。テーブルにさらに2行追加することであなたのフィドルを編集しましたが、出力は通常最後のアイテムです –

+0

あなたはそうです、Mueyiwa。気づかなかったのは、htmlコンテンツが関数にカプセル化されているからです。私はそれに応じて私の答えと私のコードを更新しました。 –

+0

いいですが、正確に何を変えましたか?コードは私に同じように見える –

関連する問題