Javascript 是否可以对文档事件使用冒泡方法
我知道,如果你在div中创建div,让他们调用一个函数onclick event,它会调用最后一个,然后是第一个,你可以通过取消冒泡方法等轻松地控制它 我添加到文档中的事件不会发生这种情况。例如,我打开了一个对话框和一个覆盖图,我希望通过按“Escape”来关闭它们,但它总是先关闭对话框,然后再关闭覆盖图,这有点奇怪。我想关闭覆盖并停止,但现在对我来说似乎不真实。 你有什么建议吗 尝试使用捕获或停止冒泡之类的方法,但结果总是一样的Javascript 是否可以对文档事件使用冒泡方法,javascript,dom-events,event-bubbling,Javascript,Dom Events,Event Bubbling,我知道,如果你在div中创建div,让他们调用一个函数onclick event,它会调用最后一个,然后是第一个,你可以通过取消冒泡方法等轻松地控制它 我添加到文档中的事件不会发生这种情况。例如,我打开了一个对话框和一个覆盖图,我希望通过按“Escape”来关闭它们,但它总是先关闭对话框,然后再关闭覆盖图,这有点奇怪。我想关闭覆盖并停止,但现在对我来说似乎不真实。 你有什么建议吗 尝试使用捕获或停止冒泡之类的方法,但结果总是一样的 函数closingChat(e){ 如果(event.key=
函数closingChat(e){
如果(event.key==='Escape')
console.log('im关闭聊天室')
}
函数closingOverlay(e){
如果(event.key==='Escape')
console.log('im closing overlay')
}
函数closingChatClick(){
console.log('我正在用click'关闭聊天室)
}
函数ClosingOverlyClick(){
console.log('单击im关闭覆盖')
}
document.addEventListener('keydown',closingChat)
document.addEventListener('keydown',closingOverlay)
嘿
代码按照您提到的顺序执行,这与事件冒泡无关
document.addEventListener('keydown',closingChat)
document.addEventListener('keydown',closingOverlay)
keydown
事件附加到文档
,当按键时,它将首先执行closingChat
功能,然后执行closingOverlay
功能
如果只想调用closingOverlay
删除此文档。addEventListener('keydown',closingChat)
功能关闭聊天室(e){
如果(event.key==='Escape')
console.log('im关闭聊天室')
}
函数closingOverlay(e){
如果(event.key==='Escape')
console.log('im closing overlay')
}
函数closingChatClick(){
console.log('我正在用click'关闭聊天室)
}
函数ClosingOverlyClick(){
console.log('单击im关闭覆盖')
}
文件。添加的文件列表器(“键控”,关闭覆盖)代码>
嘿
示例非常糟糕,但我有一个react项目,我需要两个事件,如果每次按下一个事件时我都要删除它们,那么我必须再次添加它们,这是一个可怕的决定