JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js"></script>
<!-- Button trigger modal -->
<button class="btn btn-primary btn-lg launch-modal" data-toggle="modal" data-target="#myModal1">
Launch modal 1
</button>
<button class="btn btn-primary btn-lg launch-modal" data-toggle="modal" data-target="#myModal2">
Launch modal 2
</button>
<!-- Modal 1 -->
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<textarea id="textareaID1" class="form-control"></textarea>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<!-- Modal 2 -->
<div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<textarea id="textareaID2" class="form-control"></textarea>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save...
CSS
.launch-modal {
margin: 20px;
}
JavaScript
/*$('#myModal1').on('shown.bs.modal', function () {
$('#textareaID1').focus();
})
$('#myModal2').on('shown.bs.modal', function () {
$('#textareaID2').focus();
})
*/
$(document).on('open', '#myModal1', function () {
$('input').attr('tabindex', "-1");
$('.modal-form input').each(function(index, input) {
input.tabIndex = index + 1;
$('.modal-form').find('input select textarea').first().focus();
});
});
$(document).on('close', '.remodal', function () {
$('input').each(function(index, input) {
input.tabIndex = index + 1;
});
});
$('.modal-form').find('input select textarea').first().focus();