【问题标题】:.load() makes .button( "refresh" ) stop working.load() 使 .button( "refresh" ) 停止工作
【发布时间】:2012-07-03 04:33:01
【问题描述】:

我有一大段代码正在使用$('.data').prop('checked', false).button("refresh"); 来取消选中并刷新一组复选框上的jQuery UI 样式,并将数据作为它们的类。在我的代码运行 $("#div").load('output.php') 之前它工作正常,它刷新了 output.php 文件。此后,.prop('checked', false) 工作正常,但 .button("refresh") 停止工作。

所以发生的情况是复选框保持正确取消选中,但 jQuery UI 样式不会刷新,因此即使它们没有被选中,它们也似乎保持选中状态。 Output.php 包含在开始的页面中,我尝试用 $("#div").load('text.txt') 替换负载,但即使它只是加载文本文件,它仍然停止工作。

看来 .load() 正在破坏 .button("refresh")。有什么想法可能导致这种情况或任何潜在的解决方案?

【问题讨论】:

    标签: php jquery jquery-ui


    【解决方案1】:

    .data 是否在#div 中?如果是这样,则 output.php 的内容将替换它,并且被替换的元素不会携带 jQuery UI 事件数据,因为它从未绑定到它们。

    【讨论】:

    • 奇数。必须通过有 2 个头部标签来破坏 jQuery UI 中的选择器。不合规的代码会产生奇怪的结果。例如,插件作者应该能够假设只有一个头部/身体标签等。
    【解决方案2】:

    我加载的内容是 html 并且有一个 <head> 部分。这就是破坏 .button("refresh") 的原因。我把头脑中的内容包含在我的主页的头脑中,这样就解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2012-01-09
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 2017-07-14
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      相关资源
      最近更新 更多