2017-12-01 12 views
0

私はブートストラップ確認プラグインを使用しています。確認の外側にクリックが発生した場合、すべての確認を終了しようとしています。いつもクリックするといつも閉じています。ここ外部のどこかをクリックすると、ブートストラップ確認が閉じます

$('html').on('mouseup', function(e) { 
    if ($(e.target).closest("[data-toggle='confirmation']").length === 0) { 
    $("[data-toggle='confirmation']").confirmation('hide'); 
    } 

は、あなただけの代わりにhtmlのボタンをターゲットにする必要があるフィドルhttp://jsfiddle.net/zukdokpb/270/

答えて

1

です:

$("#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: "&nbsp;Sim", 
    btnCancelLabel: "&nbsp;Não" 
}); 
+0

あなたは確認は却下しません離れてボタン/秒からクリックすると確認がポップアップするいずれかのボタンをクリックした場合は動作しません。なぜあなたはIDを使用していますか? IDが異なる複数の確認があります。 1つはボタンで、1つはリンクです - Bryan Dellinger 30秒前編集: –

+0

それは私のために働くのですか?フィディッドでは、popoverの上とその周辺にある "results"領域のhtml内をクリックする必要があります。その下にあるクリックは、このフィドルの文脈では基本的に別のドキュメントです。私は他のボタンを忘れていましたが、同じ方法で共通のクラスを使うことができました。しかし、私は別の解決策で自分の答えを更新しました。 – Emily

関連する問題