关闭和加载的jQuery对话框问题

Posted

技术标签:

【中文标题】关闭和加载的jQuery对话框问题【英文标题】:jQuery Dialog issue with close and load 【发布时间】:2016-04-17 04:34:16 【问题描述】:

我有一个 jQuery 对话框,可以在其中加载另一个页面。 好吧,它只有第一次才能正常工作,如果我尝试再次打开对话框,Chrome 开发者工具会显示:

未捕获的类型错误:$(...).dialog 不是函数

对话框没有打开。

这是我拥有的 jQuery 代码:

$(function() 

  $( "#dialog" ).dialog(
     autoOpen: false,
     title: 'Dettagli contratto',
     height: 150,
     width:350
  );


  $( ".opener" ).click(function() 
    $( "#dialog" ).load( "contracts.php" );
    $( "#dialog" ).dialog( "open" );
  );


);

我认为问题在于 load() 函数。事实上,如果我删除此功能,它就可以正常工作。

有什么帮助吗?谢谢!

【问题讨论】:

jQuery 会在你调用dialog() 时添加元素,以便真正进行对话。当您致电 load() 时,您会将所有内容替换为新内容。 【参考方案1】:

我强烈怀疑您的contracts.php 包含与<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 非常相似的jQuery 脚本标签。因此,每当您在对话框中加载 contracts.php 时;所有先前初始化的小部件/插件都被清除了。

要克服这一点;尝试从contracts.php 中删除 jQuery 脚本标签,看看你得到了什么。

【讨论】:

@L.Soprano - 有帮助吗...? 那么 load 现在也可以执行脚本了吗?

以上是关于关闭和加载的jQuery对话框问题的主要内容,如果未能解决你的问题,请参考以下文章

需要jquery对话框打开和关闭的传输效果

jquery-ui 对话框不居中,关闭按钮奇怪的行为

jQuery对话框在打开链接之前确认

jQuery UI datepicker 在对话框中自动打开

如何移动 jQuery UI 对话框上的关闭按钮?

如何阻止 jQuery 对话框重叠? [关闭]