javascript - javascript 中自定义事件的用途是什么?

标签 javascript dom-events custom-event

我无法理解您在什么情况下会使用自定义事件。 我的意思是由 CustomEvent 构造函数创建的。

我理解语法本身,但不明白它为什么有用。如果有人可以提供自定义事件的实际应用示例,那就太好了。

最佳答案

我使用它( shameless plug )在 div 元素上引发“调整大小”事件,然后使用单独的绑定(bind)框架(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 何时改变形状。

关于javascript - javascript 中自定义事件的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41201574/

相关文章:

javascript - 使用 Web Worker(垃圾收集器)可能发生内存泄漏

javascript - 浏览器如何知道我的鼠标光标指向哪个元素?

javascript - 在查询字符串中使用 "&"和 "+"

javascript - 在 div 中删除动态选项卡时至少有一个事件类

javascript - 父窗口如何知道它的子窗口关闭了?

c# - 在属性上触发事件/函数? (C#)

javascript - 如何在 vanilla Javascript 中创建、添加自定义属性和触发自定义事件

internet-explorer - event.preventDefault() 在 IE 11 中不适用于自定义事件

javascript - executescript chrome 扩展无法正确执行

javascript - 类型错误 : Cannot read property 'lookup' of undefined