jquery-ui的dialog组件关闭未移除问题

开发中遇到即使进行页面切换,原页面内初始化的dialog组件未移除的问题。在网络上一通搜索后,有说用remove的,有说用clone的,虽然能解决问题,但使用起来还是有不少麻烦。

后还是靠自己去查看dialog源码才发现dialog组件其实默认是挂载到了<body>标签下,所以而非当前iframe或者load方法加载的页面内,所以切换iframe或load页面内容,dialog自然还存在。源码片段如下:

jquery-ui的dialog组件关闭未移除问题

所以要解决这个问题,只需要指定dialog添加在当前加载的内容页上即可。如下:jquery-ui的dialog组件关闭未移除问题jquery-ui的dialog组件关闭未移除问题