【发布时间】:2016-02-04 19:11:51
【问题描述】:
如果我不想在 DOM 中产生变化,如何从某些 DOM 节点订阅事件? 我怎样才能在cyclejs或motorcyclejs中实现这样的目标?
function main({DOM}) {
DOM.select('button').events('click').forEach(e => console.log(e))
return {}
}
run(main, {DOM: makeDOMDriver('#app')})
更新: DOM 树在运行 main 函数之前已经退出:
<div id="app">
<button>Click</button>
</div>
上面的例子不起作用,事件监听器没有附加到DOM节点。
【问题讨论】:
-
什么 DOM 节点?您没有创建任何 DOM 节点来附加它。
-
我忘记提到按钮节点已经存在于 DOM 树中
-
我怀疑你只是不打算用这样的标记预填充根元素。我有一种强烈的感觉,这是一种不好的做法。 Cycle 可能正在寻找通过虚拟 dom 生成的东西,或者除了在根元素上调用
querySelector之外还有其他逻辑。不过我不确定。
标签: cyclejs