JavaScript
Traga o Bootstrap a vida com nossos plugins opcionais, construídos com jQuery. Aprenda sobre cada plugin, nossos dados e API programática, entre outras coisas.
Individualmente ou compilado
Plugins podem ser incluídos individualmente, usando os arquivos Bootstrap js/dist/*.js
individuais. Também é possível incluir todos de uma vez, usando bootstrap.js
ou a versão minificada bootstrap.min.js
. (não inclua ambos juntos).
Se usar algum bundler (Webpack, Rollup…), você pode então use o leitor UMD em cada arquivo em /js/dist/*.js
.
Dependências
Alguns plugins e componentes CSS dependem de outros plugins. Se você incluir plugins individualmente, tenha certeza de ler sobre estas dependências, na documentação. Também perceba que todos plugins dependem do jQuery, significando que esta biblioteca deve ser adicionada antes dos arquivos dos plugins. Consulte o package.json
para ver quais versões do jQuery são suportadas.
Nossos dropdowns, popovers e tooltips também dependem do Popper.js.
Atributos data
Quase todos plugins Bootstrap podem ser ativados e configurados somente através do HTML, usando atributos data (nosso jeito preferido de usar essa funcionalidade JavaScript). Assegure-se de usar apenas um atributo data, por elemento. Exemplo: você não pode acionar um tooltip e um modal, usando o mesmo botão.
No entanto, em algumas situações você pode querer desativar esta funcionalidade. Para desativar a API do atributo data, você pode desvincular todos eventos no documento nomeados com data-api
, fazendo algo como isso:
Opcionalmente, para desvincular um plugin específico, basta usar o namespace do plugin seguido do namespace data-api, como isso:
Escapando seletores
Se você usa algum tipo de seletor especial (como collapse:Example
), se garanta de escapá-lo porque ele vai ser analisado pelo jQuery.
Eventos
Bootstrap provê eventos customizados para a maioria das ações dos plugins. Geralmente, eles aparecem no infinitivo ou passado particípio, onde o infinitivo (show
, por exemplo) é acionado no começo de um evento e sua forma no passado particípio (shown
) é acionada no final de uma ação.
Todos eventos no infinitivo possuem a funcionalidade preventDefault()
. Assim, tem-se a habilidade de parar a execução de uma ação, antes que ela começe. Retornar false
em um evento também vai invocar o método preventDefault()
, automaticamente.
API programática
Nós também acreditamos que você será capaz de usar todos plugins Bootstrap, somente usando a API JavaScript. Todas APIs públicas são métodos encadeáveis e peculiares, além de retornarem a coleção que analisaram.
Todos métodos devem aceitar um objeto options opcional, uma string que olha por um método específico ou nada (oquê inicia o comportamento padrão dos plugins):
Cada plugin também expõe seu construtor na propriedade Constructor
($.fn.popover.Constructor
). Se você quer de obter uma instância específica de um plugin, recupere-a de um elemento ($('[rel="popover"]').data('popover')
), diretamente.
Funções e transições assíncronas
Todos métodos de API programáticas são assíncronos e retornam o invocador, uma vez que a transição é iniciada (mas é antes que ela finalize).
Para executar uma ação quando a transição é finalizada, você pode “ouvir” o evento correspondente.
Além disso, a invocação de método num componente em transição vai ser ignorada.
Configurações padrões
Você pode alterar as configurações padrões de um plugin, modificado o objeto Constructor.Default
do plugin:
Sem conflitos
Algumas vezes, pode ser necessário usar plugins Bootstrap com outros frameworks UI. nestas circunstâncias, colisões de namespace podem ocorrer, ocasionalmente. Se isso acontecer, você pode invocar .noconflict
no plugin que você quiser reverter o valor.
Número de versões
A versão de cada plugin Bootstrap feito com jQuery pode ser acessada usando a propriedade VERSION
do construtor do plugin. Por exemplo, usando o plugin tooltip:
JavaScript desativado
Os plugins Bootstrap não possuem um fallback muito bom, quando o JavaScript está desativado. Se você se importa com a experiência do usuário, neste caso, use <noscript>
para explicar a situação, como reativar o JavaScript e/ou adicionar seus próprios fallbacks.
Bibliotecas de terceiros
Bootstrap não suporta biblioteca de terceiros, oficialmente, como Prototype ou jQuery UI. Tirando o .noConflict
e eventos com namespace, pode acontecer problemas de compatibilidade que você precisará consertar sozinho.
Util
Todos arquivos JavaScript Bootstrap dependem do util.js
, fazendo com que seja necessário incluí-lo junto aos outros arquivos JavaScript. Se você está usando o bootstrap.js
minificado, não há necessidade de incluir o util.js
porque ele já está incluído no bootstrap.min.js
.
O util.js
possui funções utilitárias e ajuda básica para eventos transitionEnd
, assim como um emulador de transição CSS. Isso é usado pelos outros plugins para conferir suporte de transições CSS e capturar transições suspensas.