javascript - Javascript 弹出,焦点在关闭后不再打开
问题描述
我正在使用带有 window.open 弹出窗口的 onclick 功能,弹出窗口以相同的按钮出现在前面,但关闭后它不再打开
<Button hideLabel aria-label={zxxxx "}
className = {styles.button}
icon = "plus"
color = "danger"
size = "lg"
circle
onClick = {
() => {
if (!this.state.isOpened) {
this.setState({
isOpened: true
})
var mywin = window.open("https://app.mural.co", "MsgWindow", "width=1366,height=768")
mywin.addEventListener("beforeunload", function(e) {
this.setState({
isOpened: true
})
}, false)
this.setState({
windows: mywin
}
this.setState(mywin)
}
else {
const window = this.state.windows;
if (window) {
window.focus();
}
}
}
}/>
解决方案
你的代码有问题。请参阅注释行。
if (!this.state.isOpened) {
this.setState({
isOpened: true
})
var mywin = window.open("https://app.mural.co", "MsgWindow", "width=1366,height=768")
mywin.addEventListener("beforeunload", function(e) {
this.setState({
isOpened: true
})
}, false)
this.setState({ // there is no closing parenthesis for this
windows: mywin
}
this.setState(mywin)
}
else {
const window = this.state.windows;
if (window) {
window.focus();
}
}
}
而且aria-label={zxxxx "}
还缺了点什么。我强烈推荐一个为您指出这些错误的代码编辑器。
推荐阅读
- aws-lambda - AWS SAM 将 cors 配置为在本地运行
- vba - 使用 VBA 识别内置对象
- python - 如何使用熊猫数据框将数据框的每一列值添加到一张一张的新表中
- c# - 使用 c# 创建多个字典并附加到列表中
- android - 禁止来自 sdk 的颤振测试
- insert - 使用 SAS 将包含空值和空白的行插入数据库
- dependencies - 我可以使用测试依赖项来调节 pytest-xdist 并行执行吗?
- azure - Azure Function with KEDA 没有横向扩展
- visual-studio-code - VSCode:我可以打开单个文件而不是工作区吗?
- node.js - 意外的标记 ?在 JSON 中的位置 0