zoukankan      html  css  js  c++  java
  • data-toggle data-target

    data-toggle

    https://stackoverflow.com/questions/30629974/how-does-the-data-toggle-attribute-work-whats-its-api

    I think you are a bit confused on the purpose of custom data attributes. From the w3 spec

    Custom data attributes are intended to store custom data private to the page or application, for which there are no more appropriate attributes or elements.

    By itself an attribute of data-toggle=value is basically a key-value pair, in which the key is "data-toggle" and the value is "value".

    In the context of Bootstrap, the custom data in the attribute is almost useless without the context that their JavaScript library includes for the data. If you look at the non-minified version of bootstrap.js then you can do a search for "data-toggle" and find how it is being used.

    Here is an example of Bootstrap JavaScript code that I copied straight from the file regarding the use of "data-toggle".

    • Button Toggle

      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') && this.$element.hasClass('active')) changed = false
            else $parent.find('.active').removeClass('active')
          }
          if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
        } else {
          this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
        }
      
        if (changed) this.$element.toggleClass('active')

      }

    The context that the code provides shows that Bootstrap is using the data-toggle attribute as a custom query selector to process the particular element.

    From what I see these are the data-toggle options:

    • collapse
    • dropdown
    • modal
    • tab
    • pill
    • button(s)

    You may want to look at the Bootstrap JavaScript documentation to get more specifics of what each do, but basically the data-toggle attribute toggles the element to active or not.

    data-target

    https://stackoverflow.com/questions/21944735/what-is-the-data-target-attribute-in-bootstrap-3

    data-target is used by bootstrap to make your life easier. You (mostly) do not need to write a single line of Javascript to use their pre-made JavaScript components.

    The data-target attribute should contain a CSS selector that points to the HTML Element that will be changed.

    Modal Example Code from BS3:

    <!-- Button trigger modal -->
    <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
      Launch demo modal
    </button>
    
    <!-- Modal -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
      [...]
    </div>

    In this example, the button has data-target="#myModal", if you click on it, <div id="myModal">...</div> will be modified (in this case faded in). This happens because #myModal in CSS selectors points to elements that have an id attribute with the myModal value.

    Further information about the HTML5 "data-" attribute: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes

  • 相关阅读:
    分治6--循环比赛日程表
    分治5--一元三次方程求解
    分治4--快速排序
    分治3--黑白棋子的移动
    分治2--取余运算
    分治1--二分查找
    贪心6--整数区间
    贪心5--活动选择
    贪心4--拦截导弹
    贪心3--删数问题
  • 原文地址:https://www.cnblogs.com/chucklu/p/9298016.html
Copyright © 2011-2022 走看看