【问题标题】:Jquery accordion does not work when I put the script in script file on a master page, but it does when I put it directly on the page当我将脚本放在母版页上的脚本文件中时,Jquery 手风琴不起作用,但是当我将它直接放在页面上时它会起作用
【发布时间】:2010-01-20 14:53:45
【问题描述】:

我有一个名为 Default.aspx 的页面,它继承自一个名为 Main.master 的母版页。

在 Main.master 中,我有一个 asp:ScriptManager,在脚本管理器中,我放置了 jQuery 1.4 库、jquery 1.7.2 ui 库,我还放置了一个我创建的自定义 js 文件,该文件现在只有代码:

$("#accordion").accordion({
    collapsible: true,
    autoHeight: false
});

当我加载 default.aspx 时,它正在加载所有 javascript 文件,但手风琴 div 没有被渲染成手风琴。如果我将上面的代码直接放在 default.aspx 上的脚本标记之间,手风琴就会呈现,所以我假设它与无法识别手风琴 id 有关系,但如果我错了,请纠正我。

【问题讨论】:

    标签: asp.net javascript jquery jquery-ui


    【解决方案1】:

    当您在外部文件中调用手风琴时,我猜测您的 DOM 还没有准备好,但是当您在脚本标签中调用它时就已经准备好了。你用$(document).ready(function(){});包裹了吗?

    【讨论】:

    • 是的,就是这样,我是个白痴,出于某种原因,我想我可以省略 $(document).ready....,但它是打开和关闭脚本标签我可以忽略我正在考虑的。谢谢。
    【解决方案2】:

    我对 jQuery 1.4 和手风琴也有同样的问题。我有一个隐藏窗格,当我显示该窗格时,它不是手风琴......是的,我在 $(document).ready(function(){}); 中调用了手风琴@

    我的解决方案是每次显示隐藏窗格时都调用手风琴,但这似乎过于雄心勃勃。

    干杯

    【讨论】:

      猜你喜欢
      • 2015-10-31
      • 2023-02-07
      • 2018-04-04
      • 2014-09-09
      • 1970-01-01
      • 2017-04-09
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      相关资源
      最近更新 更多