I can't seem to get modal events working at all using Bootstrap 3. I want to perform an action when my modal closes, but nothing's happening.
Here's my stripped back HTML:
<button type="button" data-toggle="modal" data-target="#imageUpload">Launch modal</button>
<div class="modal fade" id="imageUpload" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
Upload form here
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
and my JS:
$(function(){
$('#imageUpload').modal({
show: false
});
$('#imageUpload').on('hidden', function () {
window.alert('hidden event fired!');
});
});
I've put a JSfiddle together here - http://jsfiddle.net/EcnC3/1/
I've not found any other reports of modal events not working in Bootstrap 3 so I'm sure I've done something wrong, but can't figure it out. Thanks for any help you can offer
The answer marked correct is just that, but an addition to the massive list of 'Dumb things I have done' - also be careful which DOM Element you target. It should be the outer modal Div.
For example if you are using RequireJS and a template manager like Knockout-amd-helper you might have markup like this
Parent markup:
Template:
your script should target '#addThingModal' not '#addThingTemplate'
According to documentation the event name is like
shown.bs.modal
:Have a look at this FIDDLE
removing the
fade
class on the modal element do the fix.https://github.com/twbs/bootstrap/issues/11793
see @Fint answer
There seems to be a bug in the Bootstrap.min.css file for the modal dialog. I changed it to Bootstrap.css and the dialog is now visible.
remove the .fade class from your modal. this worked for me.