【问题标题】:Twitter Bootstrap Jquery code for collapse用于折叠的 Twitter Bootstrap Jquery 代码
【发布时间】:2012-06-25 19:40:14
【问题描述】:

我希望有人可以解释下面从 Twitter Bootstrap 中获取的代码中发生的事情......

$(function () {
    $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
      var $this = $(this), href
        , target = $this.attr('data-target')
          || e.preventDefault()
          || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
        , option = $(target).data('collapse') ? 'toggle' : $this.data()
      $(target).collapse(option)
    })
  })

我在 jquery 中使用“on”点击,但在“click”之后从不使用点符号,从不使用 []

感谢您帮助我们了解发生了什么。

【问题讨论】:

    标签: jquery twitter-bootstrap collapse


    【解决方案1】:

    点表示法是一个命名空间。

    $('#myElt').on('click.mynamespace',someFunction); // listening
    $('#myElt').off('click.mynamespace'); // not listening any more
    

    它允许您例如轻松地从一个命名空间中删除所有事件侦听器。

    jQuerydocumentation.


    第二个参数是所有data-toggle 属性等于collapse 的元素的选择器。 W3C doc & jQuery doc

    这是一个使用示例

    $('#myContainer').on('click','.child',someFunction);
    

    如果我没记错的话,这意味着任何点击事件.child元素都会被这个监听器拦截,不管.child元素是否在绑定时创建。并且将调用someFunction 回调。

    jQuerydocumentation.

    【讨论】:

      猜你喜欢
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 2015-02-09
      • 2013-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-15
      相关资源
      最近更新 更多