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

  • 相关阅读:
    0626 Django模型(ORM)
    0625 Django 基础
    0530JavaScript基础2
    CentOS7.5安装cairo-dock,比mac托盘还美
    CentOS7.5安装与使用mysql-workbench
    CentOS7.6安装rime輸入法
    CentOS7.5 firefox Flash插件更新
    记一次ceph集群的严重故障
    ceph笔记(一)
    CentOS7.6打开的程序窗口居中
  • 原文地址:https://www.cnblogs.com/chucklu/p/9298016.html
Copyright © 2011-2022 走看看