Kak*_*Web 8 javascript events event-handling javascript-events
我有一个复杂的UI结构,动态操作,并说我有一个ui_state对象,我保持用户的最新UI状态,如哪个选项卡可见,该选项卡内的内容等.
例如:
var ui_states = {
tabs : [
{
name : "some tab",
active : true,
children : { ... }
},
{
name : "some other tab",
children : { ... }
}
]
}
Run Code Online (Sandbox Code Playgroud)
我保持这个html5 localStorage,当用户刷新网站时,它重新打开页面.每次UI更改时,此对象都会相应更改.在改变它之后我需要运行让我们说updateLocalStorage()哪个工作完美.
我的问题是这个流程,我可以为我的ui_states对象创建一个自定义事件,就像每次操作对象时ui_states.addEventListener('onchange', function(){ // do stuff })不运行该updateLocalStorage()函数一样吗?
谢谢.
您将 JavaScript 编程与 DOM 编程混淆了。事件纯粹是一个 DOM 概念。JS 对象不支持事件处理程序。
唯一的方法是创建 getter 和 setter。有一些方法可以使用特殊属性来做到这一点,但不幸的是,浏览器支持有点可能。另一种方法是使用显式方法和私有变量。这是可能的,但有点复杂。