web-dev-qa-db-fra.com

Comprendre le fonctionnement de l’attribut data-ignore dans Bootstrap

Je suis nouveau sur Bootstrap et je rencontre un problème avec cet exemple:

<!-- Trigger the modal with a button -->
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>

<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Modal Header</h4>
      </div>
      <div class="modal-body">
        <p>Some text in the modal.</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>

Selon ma compréhension data-dismiss="modal" attribut devrait fermer le modal si vous cliquez dessus, mais je ne comprends pas comment cela fonctionne derrière la scène. J'ai vérifié la documentation officielle à l'adresse suivante: http://getbootstrap.com/javascript/#modals-examples mais il n'y a pas d'explication.

27
Tien Nguyen

La fonctionnalité de masquage est implémentée dans le modal.js de cette façon.

this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))

En gros, il suffit de trouver les éléments qui ont l'attribut data-dismiss et la valeur de modal. En cliquant dessus, ces éléments seront cachés.

20
Adeel

exactement dans bootstrap.js, trouvez l'élément avec l'attribut data-dismiss="modal" et déclenchez this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) derrière. c'est-à-dire qu'il masque l'élément, mais de manière plus complexe.

4
Atikur Rahman

Si vous utilisez plusieurs modaux sur une page, ouvrez-les simultanément les uns sur les autres, en supprimant le plus haut avec data-dismiss="modal" masquera tous les modaux actifs.

3
Grigor IWT