I have made a fiddle illustrating the issue I am facing at the moment. So every time I close and open a modal, shown.bs.modal also fires multiple times. In this
The accepted answer from @Put12co22mer2 is correct. However, there are times when you want to rebind the event when opening the modal. Let's say you got some options that should be used.
function openTestModal(options){
$('#testModal').modal({
keyboard: false,
backdrop: 'static'
});
$('#testModal').one('shown.bs.modal', function (e) {
// do something with options
alert(options.foo);
});
}
$('.testButton').click(function(){
openTestModal({ foo: bar});
});
Then you can use one instead of on. The result will be the same as unbinding, but a bit cleaner in my opinion.
http://api.jquery.com/one/
The .one() method is identical to .on(), except that the handler is unbound after its first invocation