From f98883fc442145de1067d68a37c6353f2db31038 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Mon, 30 Mar 2015 20:55:00 -0700 Subject: move more js stuff to components section --- docs/javascript/modal.md | 488 ----------------------------------------------- 1 file changed, 488 deletions(-) delete mode 100644 docs/javascript/modal.md (limited to 'docs/javascript/modal.md') diff --git a/docs/javascript/modal.md b/docs/javascript/modal.md deleted file mode 100644 index 4ae9f95ba..000000000 --- a/docs/javascript/modal.md +++ /dev/null @@ -1,488 +0,0 @@ ---- -layout: page -title: Modal ---- - -Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults. - -**Due to how HTML5 defines its semantics, the `autofocus` HTML attribute has no effect in Bootstrap modals.** To achieve the same effect, use some custom JavaScript: - -{% highlight js %} -$('#myModal').on('shown.bs.modal', function () { - $('#myInput').focus() -}) -{% endhighlight %} - -
-

Overlapping modals not supported

-

Be sure not to open a modal while another is still visible. Showing more than one modal at a time requires custom code.

-
-
-

Modal markup placement

-

Always try to place a modal's HTML code in a top-level position in your document to avoid other components affecting the modal's appearance and/or functionality.

-
-
-

Mobile device caveats

-

There are some caveats regarding using modals on mobile devices. See our browser support docs for details.

-
- -### Static example - -A rendered modal with header, body, and set of actions in the footer.

- -
- -
- -{% highlight html %} - -{% endhighlight %} - -### Live demo - -Toggle a modal via JavaScript by clicking the button below. It will slide down and fade in from the top of the page. - - - -
- -
- -{% highlight html %} - - - - - -{% endhighlight %} - -
-

Make modals accessible

-

Be sure to add role="dialog" to .modal, aria-labelledby="myModalLabel" attribute to reference the modal title, and aria-hidden="true" to tell assistive technologies to skip the modal's DOM elements.

-

Additionally, you may give a description of your modal dialog with aria-describedby on .modal.

-
- -
-

Embedding YouTube videos

-

Embedding YouTube videos in modals requires additional JavaScript not in Bootstrap to automatically stop playback and more. See this helpful Stack Overflow post for more information.

-
- -## Optional sizes - -Modals have two optional sizes, available via modifier classes to be placed on a `.modal-dialog`. - -
- - -
- -{% highlight html %} - - - - - - - - - -{% endhighlight %} - - - - - -## Remove animation - -For modals that simply appear rather than fade in to view, remove the `.fade` class from your modal markup. - -{% highlight html %} - -{% endhighlight %} - -## Using the grid system - -To take advantage of the Bootstrap grid system within a modal, just nest `.container-fluid within the `.modal-body` and then use the normal grid system classes within this container. - -{% example html %} - -
- -
-{% endexample %} - -## Varying modal content based on trigger button - -Have a bunch of buttons that all trigger the same modal, just with slightly different contents? Use `event.relatedTarget` and [HTML `data-*` attributes](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes) (possibly [via jQuery](http://api.jquery.com/data/)) to vary the contents of the modal depending on which button was clicked. See the Modal Events docs for details on `relatedTarget`. - -{% example html %} -
- - - - -
-{% endexample %} - -{% highlight js %} -$('#exampleModal').on('show.bs.modal', function (event) { - var button = $(event.relatedTarget) // Button that triggered the modal - var recipient = button.data('whatever') // Extract info from data-* attributes - // If necessary, you could initiate an AJAX request here (and then do the updating in a callback). - // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead. - var modal = $(this) - modal.find('.modal-title').text('New message to ' + recipient) - modal.find('.modal-body input').val(recipient) -}) -{% endhighlight %} - -## Modals with dynamic heights - -If the height of a modal changes while it is open, you should call `$('#myModal').data('bs.modal').handleUpdate()` to readjust the modal's position in case a scrollbar appears. - -## Usage - -The modal plugin toggles your hidden content on demand, via data attributes or JavaScript. It also adds `.modal-open` to the `` to override default scrolling behavior and generates a `.modal-backdrop` to provide a click area for dismissing shown modals when clicking outside the modal. - -### Via data attributes - -Activate a modal without writing JavaScript. Set `data-toggle="modal"` on a controller element, like a button, along with a `data-target="#foo"` or `href="#foo"` to target a specific modal to toggle. - -{% highlight html %} - -{% endhighlight %} - -### Via JavaScript - -Call a modal with id `myModal` with a single line of JavaScript: - -{% highlight js %}$('#myModal').modal(options){% endhighlight %} - -### Options - -Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-backdrop=""`. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nametypedefaultdescription
backdropboolean or the string 'static'trueIncludes a modal-backdrop element. Alternatively, specify static for a backdrop which doesn't close the modal on click.
keyboardbooleantrueCloses the modal when escape key is pressed
showbooleantrueShows the modal when initialized.
-
- -### Methods - -#### .modal(options) - -Activates your content as a modal. Accepts an optional options `object`. - -{% highlight js %} -$('#myModal').modal({ - keyboard: false -}) -{% endhighlight %} - -#### .modal('toggle') - -Manually toggles a modal. **Returns to the caller before the modal has actually been shown or hidden** (i.e. before the `shown.bs.modal` or `hidden.bs.modal` event occurs). - -{% highlight js %}$('#myModal').modal('toggle'){% endhighlight %} - -#### .modal('show') - -Manually opens a modal. **Returns to the caller before the modal has actually been shown** (i.e. before the `shown.bs.modal` event occurs). - -{% highlight js %}$('#myModal').modal('show'){% endhighlight %} - -#### .modal('hide') - -Manually hides a modal. **Returns to the caller before the modal has actually been hidden** (i.e. before the `hidden.bs.modal` event occurs). - -{% highlight js %}$('#myModal').modal('hide'){% endhighlight %} - -### Events - -Bootstrap's modal class exposes a few events for hooking into modal functionality. All modal events are fired at the modal itself (i.e. at the `