我遇到了一个非常奇怪的问题,我希望有人能回答(有点宽泛,但我会尽力解释),代码在打开时在本地页面上运行,但一旦上传同一页面,它就会抛出一个错误。另外两个人也看过这个,导致更多的困惑。
我下载 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('.ptroffer').ptroffer();
你不会得到那个错误。但是,事情可能行不通;我认为旧版本的 jQuery 正在被某些东西(1.3!)导入,这很糟糕。
编辑 哦,我明白了,Prototype 中有什么东西在起作用。你那里有一个楷书汤,在你把它理顺之前,事情将变得不可预测和奇怪。可能在某处有东西在调用 jQuery.noConflict()
,但是您添加的“就绪”处理程序并不是为了预期那样编写的。任何期待 jQuery 1.3 的代码也可能会带来惊喜。
关于javascript - FancyBox Jquery Null 错误 - 奇怪的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17977509/