【问题标题】:FancyBox Jquery Null Error - Strange issueFancyBox Jquery Null 错误 - 奇怪的问题
【发布时间】:2013-08-01 02:07:58
【问题描述】:

我遇到了一个非常奇怪的问题,希望有人能回答(它有点宽泛,但我会尽力解释),代码在打开时可以在本地页面上运行,但是一旦上传相同的页面,它就会抛出一个错误。另外两个人也看过这个,导致更多的混乱。

我下载了 FancyBox 以使用内联功能通过 href 链接弹出用户表单,而不是将用户带到其他页面。

您可以在这里看到“库存”花式框:

1 fancyapps.com/fancybox/demo 在各种选项下,我正在使用内联。

我不需要 FancyBox 附带的所有其他功能,因此我将页面剥离为以下内容,效果很好:

2 *Fancy Box Demo Stripped to Inline Feature only*

那么,我将这段代码应用到我们的页面沙箱副本中来实现:

3 *Sandbox Copy with Fancy Box inline feature added to "make offer" link*

它停止工作!与页面上的其他 javascript 没有冲突,唯一的区别是它有几个颜色 .css 更改,所有 .fancybox 都被命名为 .ptroffer 并且 css 代码不在页面上内联(这不会'无论如何都不会导致此错误)。 在本地打开的同一页面效果很好 - 上传并引发错误。 SCRIPT5007:无法获取属性“ptroffer”的值:对象为 null 或未定义

    <script type="text/javascript">
    $(document).ready(function() {
        $('.ptroffer').ptroffer();
    });
</script>
  • 在链接 #2 和本地链接 #3 上运行良好,但在上传 #3 时会引发错误。

请!

【问题讨论】:

  • 你在使用原型框架,你在使用jQuery.noConflict吗? ...或在您的自定义脚本jQuery(document).ready(function() {jQuery('.ptroffer').ptroffer();});中将别名$更改为jQuery

标签: javascript jquery css fancybox


【解决方案1】:

代码中某处的某些内容覆盖了$。如果你改变那个“准备好的”处理程序来调用

jQuery('.ptroffer').ptroffer();

你不会得到那个错误。但是,事情可能行不通;我认为旧版本的 jQuery 正在被某些东西(1.3!)导入,这很糟糕。

edit 哦,我明白了,Prototype 中出现了一些东西。你有一个常规脚本汤在那里,事情将是不可预测和奇怪的,直到你把它理顺。可能在某处某处调用jQuery.noConflict(),但您添加的“准备就绪”处理程序并不是为了期望而编写的。期待 jQuery 1.3 的任何代码也可能会令人惊讶。

【讨论】:

  • 使用 jQuery('.ptroffer').ptroffer();相反,修复它!非常感谢。
猜你喜欢
  • 1970-01-01
  • 2011-08-17
  • 1970-01-01
  • 1970-01-01
  • 2014-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多