【问题标题】:On rare occasions a jQueryUI accordion object is undefined在极少数情况下,未定义 jQueryUI 手风琴对象
【发布时间】:2021-02-23 23:30:24
【问题描述】:

我们的网站有时会生成有关未定义对象的内部错误消息。我们正在使用 JQueryUI。这是一个示例:“TypeError:X.accordion 不是函数”。触发错误的代码行是 jquery 的缩小版本。未缩小的代码如下所示:

var $help = $('#help,#help2');
$help.accordion(
{
    autoHeight: false,
    navigation: true,
    header: '.helpItem',
    icons: false,
    heightStyle: "content"
});

我们无法重现该错误,但我们的生产系统每周会多次生成该错误。

您无需登录我们的网站即可使用以下说明查看该功能:

  1. https://www.rephunter.net/manufacturers-sales-reps-find
  2. 向下导航到搜索框
  3. 点击望远镜。
  4. 在结果页面上,页面左侧顶部附近有一个手风琴,它会短暂显示,但可以通过单击“显示页面帮助”重新打开。

【问题讨论】:

  • 如果您需要更多帮助,我建议您在此处使您的代码可运行。
  • 这样一个适合发布的“玩具”应用程序的问题是它会“正常工作”,并且不具备允许它失败的生产条件。这就是我提供实时应用程序说明的原因。我知道玩具应用程序将有助于查看结构。

标签: javascript jquery jquery-ui jquery-ui-accordion


【解决方案1】:

将脚本标签放在页面底部或$(document).ready()

var $help = null;

$(document).ready(function(){
   $help = $('#help,#help2');
   $help.accordion(
   {
    autoHeight: false,
    navigation: true,
    header: '.helpItem',
    icons: false,
    heightStyle: "content"
   });
});

【讨论】:

  • 而 $help 变量定义在外面? @JeffreySimon
  • 并且 $help 变量也在文档准备部分中定义。
  • 我认为 $help 应该在文档之外声明,以便代码的其他部分可以访问。
  • nAviD:我认为您正在做一些事情,并且准备好文档之外的 $help 可能会有所帮助。会让你知道的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-20
相关资源
最近更新 更多