如何在javascript中将一个eventListener添加到一个Object中,当对象被操作时会触发它?

前端之家收集整理的这篇文章主要介绍了如何在javascript中将一个eventListener添加到一个Object中,当对象被操作时会触发它?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个复杂的UI结构,动态操作,并说我有一个ui_state对象,我保持用户的最新UI状态,如哪个选项卡可见,该选项卡内的内容等.

例如:

var ui_states = {
  tabs : [
    {
      name     : "some tab",active   : true,children : { ... }
    },{
      name     : "some other tab",children : { ... }
    }
  ]
}

我将此保留在html5 localStorage上,当用户刷新网站时,它会重新打开页面.每次UI更改时,此对象都会相应更改.在更改之后我需要运行让我们说的updateLocalStorage()完美地工作.

我的问题是这个流程,我可以为我的ui_states对象创建一个自定义事件,比如ui_states.addEventListener(‘onchange’,function(){// do stuff}),以便每次运行时都不会运行updateLocalStorage()函数操纵对象?

谢谢.

解决方法

您正在将JavaScript编程与DOM编程混合在一起.事件纯粹是一个DOM概念. JS对象不支持事件处理程序.

唯一的方法是创建getter和setter.有很多方法可以使用special properties,但不幸的是,浏览器支持有点可能.另一种方法是使用显式方法和私有变量. This is possible but a little complex.

原文链接:https://www.f2er.com/js/156646.html

猜你在找的JavaScript相关文章