一个div里面的javascript加载了ajax cant访问div之外的函数

时间:2011-05-05 15:24:16

标签: jquery

我使用AJAX函数将搜索结果加载到div中,并且我尝试将div添加到div的底部,该div调用了该函数,但我一直在使用:

Uncaught ReferenceError: update_results is not defined

以下是页面:[已删除链接]

结果下方有下一页链接

为什么它找不到这个功能?在AJAX div之外调用它可以正常工作

感谢。

2 个答案:

答案 0 :(得分:1)

它不起作用,因为在update_results闭包内声明了document.ready(),但在全局范围内调用了嵌入式onclick处理程序。

任何以字符串形式编写的嵌入式处理程序都必须通过eval()传递,并且无法看到在其他闭包中声明的任何私有函数。

理想情况下,要修复它,您应该从HTML中删除嵌入式处理程序,并将其注册在同一个闭包中。

FWIW,最好是恕我直言,永远不要使用嵌入式处理程序。事件注册和处理属于JS文件,而不是HTML。

答案 1 :(得分:0)

因为您的函数是在document.ready()内创建的,而不是在窗口级别创建的。只需将其移出<script>下方,就可以了。