Javascript 有没有办法解决我的弹出问题?

Javascript 有没有办法解决我的弹出问题?,javascript,Javascript,我对javascript编程有点陌生。我正在做一个通知管理应用程序。我正在尝试弹出一个类似于facebook通知的窗口。当我点击图标时,它会出现,当我以弹出窗口的形式点击时,它不会消失,这是正常的,当我点击屏幕上的任何地方时,弹出窗口会消失,这也很好。当我在弹出窗口中输入文本并单击时,文本不会消失,这仍然很正常,但当我创建一个表格或表单时,只要单击抓取某个内容,文本就会消失。请帮帮我。这是我的密码 函数通知(){ document.getElementById(“forme”).style.d

我对javascript编程有点陌生。我正在做一个通知管理应用程序。我正在尝试弹出一个类似于
facebook
通知的窗口。当我点击图标时,它会出现,当我以弹出窗口的形式点击时,它不会消失,这是正常的,当我点击屏幕上的任何地方时,弹出窗口会消失,这也很好。当我在弹出窗口中输入文本并单击时,文本不会消失,这仍然很正常,但当我创建一个表格或表单时,只要单击抓取某个内容,文本就会消失。请帮帮我。这是我的密码

函数通知(){
document.getElementById(“forme”).style.display=“block”;
}
window.onclick=函数(e){
如果(e.target==forme | | e.target==bouton){
document.getElementById(“forme”).style.display=“内联块”;
}否则{
document.getElementById(“forme”).style.display=“无”;
}
}

对于您的问题,if语句中的条件
e.target==forme
将无法满足,因为它是div元素的id。如果向输入元素添加id并将其包含在If语句的条件中,则输入将保持打开状态

此外,如果您希望在选择其他项目时保持弹出窗口打开,则可以将项目的ID添加到if语句中

函数通知(){
document.getElementById(“forme”).style.display=“block”;
}
window.onclick=函数(e){
如果(e.target==bouton | e.target==formeInput){
document.getElementById(“forme”).style.display=“内联块”;
}否则{
document.getElementById(“forme”).style.display=“无”;
}
}


您的问题到底是什么?这个问题不是100%清楚,您是否只需要引导中的标准模式功能?即使在表单中添加一个id并将其包含在javascript代码的if条件中也不能解决问题。您是否将id添加到输入元素?将id添加到表单也不会使输入框保持打开状态。谢谢,它可以工作。让我担心的是,我将在这个弹出窗口中显示sql查询的结果。结果将显示在表格中。这张桌子我必须让台词可以点击。为了避免出现同样的问题,我必须将id放在表标记中?是的,解决方案的一部分需要将id放在表元素中。如果这样做,则必须编辑用于确定e.target指向何处的If语句。e、 target不会仅仅通过使用e.target==id指向表id,但它可以直接指向表上的链接,并且可以同时使用几个.parentElement属性指向表id(在本例中)。我已经更新了我的答案以提供解决方案。此外,正如@Robb在对您的问题的评论中指出的,由于您已经在使用引导,一个替代的、更容易重用的解决方案是将表添加到一个模式中,该模式将提供与弹出窗口相同的功能。