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

  • 相关阅读:
    [opencv] 生成标定棋盘格
    [opencv] cmake编译opencv并去窗口边框
    [opencv] matlab生成opencv可读的xml
    [matlab] vc++和matlab混合编程
    全息摄影
    [opencv&opengl]多窗口显示
    CPLEX
    ios读取设备姿态并传输
    python: 基本知识记录
    css: position的使用;
  • 原文地址:https://www.cnblogs.com/chucklu/p/9298016.html
Copyright © 2011-2022 走看看