Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Bootstrap.js

Olhando a documentação e lendo o arquivo javascript do framework (e olhando posts no stackoverflow) eu consegui entender em partes e percebi o jquery.

Button.prototype.toggle = function () {
    var changed = true
    var $parent = this.$element.closest('[data-toggle="buttons"]')

    if ($parent.length) {
      var $input = this.$element.find('input')
      if ($input.prop('type') == 'radio') {
        if ($input.prop('checked')) changed = false
        $parent.find('.active').removeClass('active')
        this.$element.addClass('active')
      } else if ($input.prop('type') == 'checkbox') {
        if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
        this.$element.toggleClass('active')
      }
      $input.prop('checked', this.$element.hasClass('active'))
      if (changed) $input.trigger('change')
    } else {
      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
      this.$element.toggleClass('active')
    }
  }

O curso de jquery pelo que vi aborda esta parte, certo ?

Pois estou curisoso com o porques de :

<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<button type="button" data-toggle="collapse"  data-target=".navbar-collapse" class="navbar-toggle">

Curioso com o pq devo passar estes nomes desta forma com estes atributos data e como eles se relacionam no jquery

:DDDDDDDDDDDD

3 respostas

Oi Eduardo,

Não sei se entendi direito a sua dúvida, mas você quer o motivo de usar o nome data-toggle e data-target?

Primeiramente, os atributos data-* são atributos customizados e são utilizados em javascript e css.

O jQuery vai verificar a presença destes atributos e executar o javascript correspondente. Na função que você postou é possível perceber que ele busca um elemento com atributo data-toggle.

var $parent = this.$element.closest('[data-toggle="buttons"]')

Abraço!

Sim :)

E no jquery (no curso) que eu verei como trabalhar com isto mais detalhadamente.

?

abçs

solução!

Isso mesmo!

Abraço!