在javascript中自定义事件的目的是什么?

时间:2016-12-17 18:10:35

标签: javascript dom-events custom-event

我无法理解您将在何种情况下使用自定义事件。 我指的是CustomEvent构造函数创建的那些。

我理解语法本身,而不是为什么它有用。如果有人可以提供自定义事件的真实世界应用示例,那将是很好的。

1 个答案:

答案 0 :(得分:1)

我使用它(shameless plug)来提升"调整大小" div元素上的事件然后使用单独的绑定框架(aurelia)来监听这些事件。

显式代码示例是:

var element = this.element; // some element
var erd = erd({ strategy: 'scroll' });

var widthOld = element.offsetWidth;
var heightOld = element.offsetHeight;

this.callback = () => {
  var event = new CustomEvent("resize", {
    detail: {
      width: this.element.offsetWidth,
      height: this.element.offsetHeight,
      widthOld: widthOld,
      heightOld: heightOld
    }
  });
  element.dispatchEvent(event);
  widthOld = this.element.offsetWidth;
  heightOld = this.element.offsetHeight;
};

erd.listenTo(this.element, this.callback);

其中erd为element-resize-detector,允许您检测何时div更改形状。