Ich benutze folgenden jQuery-Code, um die Schaltfläche zu starten Bootstrap-modal anzuzeigen. HINWEIS: Ich verwende den gleichen jQuery-Code, um das gleiche Modal auch auf einer anderen Seite auszulösen, und es funktioniert gut auf dieser Seite. und ich verwende nur bootstrap.js nicht bootstrap-modal.js, was könnte das mögliche Problem sein?Bootstrap Modal geht sofort nach dem Erscheinen
<script>
$(function(ready){
$(".paypal1_form").submit(function(event) {
console.log('here');
$('button.modal2').click();
setTimeout(function() {
return true;
event.preventDefault();
}, 2000);
});
});
</script>
Es folgt der Code für Bootstrap-modal
<button style="display:none;" type="button" class="btn btn-info btn-lg modal2" data-toggle="modal" data-target="#RedirectModal">Open Modal</button>
<div id="RedirectModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<p style="float:right;color:white;font-size:14px;margin-top:-12px;" class="close" data-dismiss="modal">X</p>
<!--<h4 class="modal-title">Modal Header</h4>-->
</div>
<div class="modal-body">
<h3 style="color:white;">We are now redirecting you to Paypal...</h3>
</div>
<div class="modal-footer">
<!--<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>-->
</div>
</div>
</div>
</div>
Was ist 'return true; event.preventDefault(); 'soll das genau tun? Wie kann 'event.preventDefault(); 'nach **' return true; 'aufgerufen werden, und von innerhalb eines Timeout nicht weniger –
yeah, muss nur wahr zurückgeben. aber das löst mein Problem nicht. – user3661745
Schicken Sie ein Formular? Vielleicht ist das der Grund. Versuchen Sie 'event.preventDefault();' außerhalb der setTimeout-Callback-Funktion (die ich immer noch nicht ganz sicher, dass ich verstehe) –