です:
$("#mybutton").on('click', function(e) {
if ($(e.target).closest("[data-toggle='confirmation']").length === 0) {
$("[data-toggle='confirmation']").confirmation('hide');
}
});
http://jsfiddle.net/zukdokpb/271/
使用する場合、それはあなたのためにそれを行う必要がありますdata-popout
属性(new fiddle) 私はあなたが最初のボタンでそれをしたが、2番目のボタンではなかったことがわかります。これを追加すると、デフォルトの機能が修正されます。その後$(e.target).closest("[data-toggle='confirmation']").length
は実際に元のボタンをクリックしない限り0
を返します。そのため、他のすべてのクリックでポップアップが隠れていました。
HTML:
<a href="#Delete" class="btn btn-primary btn-large" title="Deseja realmente excluir o projeto?" data-toggle="confirmation" data-singleton="true" data-placement="top" data-popout="true"><span title="Excluir o projeto">Excluir</span></a>
<button type="button" class="btn" ng-show="patient.Archived" data-toggle="confirmation" data-singleton="true" data-popout="true">
Archived
</button>
JS:
$('[data-toggle="confirmation"]').confirmation({
btnOkLabel: " Sim",
btnCancelLabel: " Não"
});
あなたは確認は却下しません離れてボタン/秒からクリックすると確認がポップアップするいずれかのボタンをクリックした場合は動作しません。なぜあなたはIDを使用していますか? IDが異なる複数の確認があります。 1つはボタンで、1つはリンクです - Bryan Dellinger 30秒前編集: –
それは私のために働くのですか?フィディッドでは、popoverの上とその周辺にある "results"領域のhtml内をクリックする必要があります。その下にあるクリックは、このフィドルの文脈では基本的に別のドキュメントです。私は他のボタンを忘れていましたが、同じ方法で共通のクラスを使うことができました。しかし、私は別の解決策で自分の答えを更新しました。 – Emily