docs: function (element, type, handler) {
              var own = this;
              //非DOM元素不处理 handler 非function 不处理
              if (!(1 == element.nodeType || element.nodeType == 9 || element === window) || !vQ.isFunction(handler)) {
                  return;
              }
  
              //批量事件绑定
              if (vQ.isArray(type)) {
                  return own._handleMultipleEvents(own.remove, element, type, handler);
              }
              //处理绑定了了context的事件
              var _handler = own._contextHandler[handler.$$guid];// || handler;
  
              //调用原生方法解除已绑定事件
              if (element.removeEventListener) {
                  element.removeEventListener(type, _handler || handler, false);
              } else {
                  //IE等 自行托管事件
  
                  // delete the event handler from the hash table
                  var events = element.events;
                  if (events) {
                      delete events[handler.$$guid];//删除该方法
                      //判断事件集合是否为空
                      var hasProp = false;
                      for (var prop in events) {
                          hasProp = true;
                      }
                      if (!hasProp) {
                          delete element.events;
                      }
                  }
              }
              if (_handler && !delete own._contextHandler[handler.$$guid]) {
                  own._contextHandler[handler.$$guid] = null;
              }
          }