L'utilisation du plug-in select2 dans la boîte modale d'amorçage empêchera la zone de saisie de select2 d'obtenir le focus et la saisie. Comment résoudre ce problème ? L'éditeur ci-dessous vous apporte une solution au problème selon lequel l'entrée ne peut pas obtenir le focus lorsque la boîte modale BootStrap et select2 sont utilisées ensemble. Jetons un coup d'œil
L'utilisation du plug-in select2 dans la boîte modale bootstrap entraînera. le problème dans select2. La zone de saisie ne peut pas obtenir le focus et ne peut pas saisir
Solution :
Supprimer le tabindex="-1"
dans la page. (test réussi) :
<p id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <p class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3 id="myModalLabel">Panel</h3> </p> <p class="modal-body" style="max-height: 800px"> <p id="myModal" class="modal hide fade" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <p class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3 id="myModalLabel">Panel</h3> </p> <p class="modal-body" style="max-height: 800px">
peut être traité dans la méthode onshow. Le principe principal est que le tabindex='-1'
de bootstrap occupe le tabindex='0'
de select2, et le script le fait. le traitement. Une fois la boîte modale affichée, supprimez l'attribut tabindex de la boîte modale
BootstrapDialog.show({ onshown: function (dialogRef) { $("#"+dialogRef.getId()).removeAttr("tabindex"); } })
et réécrivez la méthodeforceFocus (le test a révélé qu'elle n'a aucun effet). ) :
$.fn.modal.Constructor.prototype.enforceFocus = function() {};
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!