gpt4 book ai didi

javascript - Mithril 上的事件捕获?

转载 作者:行者123 更新时间:2023-12-02 22:44:19 31 4
gpt4 key购买 nike

没有事件捕获吗?我想强制事件处理顺序,在自动完成组件中, onblur 事件在 onclick 列表中的项目之前触发,导致列表切换两次,因此在闪烁后保持可见。

最佳答案

Mithril 中的事件绑定(bind)是一个非常简单的便利功能,它代表使用标准非捕获 addEventListener 绑定(bind)事件,并自动对分辨率重绘进行排队(这与其他 View 库不同)就像 React 一样,其中事件绑定(bind)本身就是一个精心设计的、固执己见的系统)。

当您想要以不同的方式做事时,Mithril 允许您内联访问生命周期方法,从而使直接 DOM 访问变得非常容易。具体来说,the oncreate method will let you bind events however you choose .

m('div', {
// this
onclick : e => {},
// is the same as this
oncreate: vnode => {
vnode.dom.addEventListener('click', e => {
m.redraw()
})
},
})

请注意,click 事件始终会在 blur 之后解析,即使前者正在捕获而后者正在冒泡 - 您可能需要使用 mousedown 相反。 Here's a demo showing how to bind capturing events and logging the sequence of different events .

关于javascript - Mithril 上的事件捕获?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58475642/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com