Ich habe ein Problem mit Bootstrap Modal beim Versuch, es mit Code anzuzeigen/auszublenden. Wenn wir Text mit mehr als 3 Zeichen eingeben und einmal die Eingabetaste drücken, wird das Modal angezeigt und verschwindet dann wie vorgesehen. Wenn wir jedoch weiterhin die Eingabetaste drücken, wird der Bildschirm schwarz.Bootstrap Problem mit Modal
Ich habe andere Beiträge mit diesem Problem gesehen und alle von ihnen schlagen vor, data-keyboard="false"
zu verwenden, aber das funktioniert nicht in meinem Fall. Könnte jemand bitte helfen?
UPDATE
Der Code-Schnipsel mit Arbeitslösung wird nun in der Antwort gepostet aktualisiert.
$(document).ready(function(){
$("#txtSearch").keydown(function(event){
if($.trim($(this).val()) != "" && $(this).val().length > 3 && event.which == 13){
showLoading();
//Some Code
hideLoading();
}
});
});
function showLoading(){
if(!$('.modal-backdrop').is(':visible')){
$("#myModal").modal("show");
}
}
function hideLoading(){
$("#myModal").modal("hide");
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<input id="txtSearch" />
<div id="myModal" class="modal fade" role="dialog" data-backdrop="static" data-keyboard="false">
<h1 style="color:white">Loading...</h1>
</div>
Dies ist ein häufiges Problem bei staatlicher Verwaltung; Sie lösen '.modal (" show ");' mehrere Male aus, also müssen Sie eine Variable einstellen und verfolgen, die dies verhindert; zum Beispiel 'var isLoading = false;', was, wenn es auf 'true' gesetzt ist, die Ausführung von' showLoading() 'verhindert. –
@TimLewis - Ich habe eine Variable wie vorgeschlagen hinzugefügt, aber das Problem besteht weiterhin. Bitte sehen Sie meinen aktualisierten Code. – Learner
Es könnte in diesem Fall alles zu schnell passieren; Es gibt keine Zeit zwischen dem Öffnen und dem Schließen, also müssen Sie möglicherweise Handler für '.on (" showed.bs.modal ")' und '.on (" hidden.bs.modal ") hinzufügen, um das richtig zu handhaben. –