2016-07-06 47 views
1

我使用Semantic UI(http://semantic-ui.com/)作为前端CSS库和AngularJS。在我的应用程序中,我使用模态来管理数据输入和视图。有一个问题。我使用以下命令打开和关闭模态。语义UI模式对话框没有正确关闭

$('#addNewEpisodeModal').modal('show'); 
$('#addNewEpisodeModal').modal('hide'); 

但有时当我关闭模式时,它不能正常关闭。模式对话框关闭,但有一个黑色调光器(背景)不关闭。我会告诉你它是如何工作的。这是我打开它时的模式。

enter image description here

而且本所认为,当我关闭该模式。黯淡的背景不关闭。谁能告诉我这里有什么问题?

enter image description here

我必须刷新页面,以使其再次运行。这是什么原因?

+0

可以请你把它放在片段或摆弄? –

+0

@SagarKodte其实这是一个巨大的应用程序,使用大量的服务器端代码。 :(很难做小提琴:( –

+0

所以你可以提供链接?? –

回答

0

我还不能评论,所以没有你的更多澄清(例如示例代码),这只不过是我的猜测而已。然而,这里是我的想法:

语义UI操纵你的.modal元素从任何地方提取它,将它包装在.modals元素中,并将该元素插入到页面主体中。这发生在.modal('show')第一次被调用时,而不是之前。

隐藏模式后,.modals元素会收到一个新类hidden,它将隐藏黑色叠加层。我的假设是你已经覆盖了这个.hidden类,或者它给元素的样式。我会尝试在Chrome的开发人员工具中查看CSS,并查看是否属于这种情况。

+0

在同一个页面中有多个模态,所以你能告诉我一个合适的方式来打开和关闭模态吗?我的意思是我想打开一个模式模式和在该模式中,我想打开另一个..所以第一个模式必须关闭 –

+0

这里有[documentation](http://semantic-ui.com/modules/modal.html#multiple-modals) 。 – twoje

1

我遇到的问题一次,我的解决办法是用模式来隐藏手动调光器一起:

$('#addNewEpisodeModal').modal('hide').modal('hide dimmer');