jQuery事件click后面跟上了一串

 /* FILEUPLOAD DATA-API
  * ================== */

  $(function () {
    $('body').on('click.fileupload.data-api', '[data-provides="fileupload"]', function (e) {
      var $this = $(this)
      if ($this.data('fileupload')) return
      $this.fileupload($this.data())

      var $target = $(e.target).is('[data-dismiss=fileupload],[data-trigger=fileupload]') ?
        $(e.target) : $(e.target).parents('[data-dismiss=fileupload],[data-trigger=fileupload]').first()
      if ($target.length > 0) {
          $target.trigger('click.fileupload')
          e.preventDefault()
      }
    })
  })

'click.fileupload.data-api'这是什么用法?

阅读 5.3k
2 个回答

这个jQuery事件机制的命名空间,可以对事件进行集合操作,如上面代码中,如果要过去掉代码中的click事件,只需要$('body').off('click.fileupload.data-api')就可以了,而不会对body上其他的click事件产生影响

参考:http://segmentfault.com/blog/huyue/1190000000339421

没什么特别的,click.fileupload.data-api 只是个名字,里面包括中文都没问题,肯定底层哪里 trigger 了一个名为 click.fileupload.data-api 事件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进