jQuery文档就绪和功能范围

前端之家收集整理的这篇文章主要介绍了jQuery文档就绪和功能范围前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想提供帮助函数,允许复杂的基于jQuery的UI的各种组件隐藏或显示加载div(在从页面的各个部分启动Ajax调用时使用).

为此,我最初编写了这样的代码

<script type="text/javascript">
$(function ()
{
    var loadingControl = $("#loading");

    function showLoading() {
        loadingControl.show();
    }
}
</script>

但是,我很快意识到showLoading仅在该特定文档的范围内准备好.

遵循建议

https://stackoverflow.com/a/1055799/141172

我在全球范围内声明了showLoading,如下所示:

<script type="text/javascript">
var showLoading;
$(function ()
{
    var loadingControl = $("#loading");

    function showLoading() {
        loadingControl.show();
    }
}
</script>

但是,我仍然发现showLoading在以后执行的文档就绪块中不可用.错误

The value of the property ‘showLoading’ is null or undefined,not a Function object

这种行为可以在这里看到:

http://jsfiddle.net/NfXFT/4/

jsFiddle还证明showLoading实现的文档就可以在调用它的文档就绪块之前运行.

出了什么问题,我怎样才能使这个辅助方法可用?

我在文档就绪块中定义它,因为它依赖于’#loading’可用.是否有更好的方法来实现提供辅助功能来隐藏/显示加载屏幕的相同目标?我想将其保留在辅助函数中,因为实现可能会在以后更改.

解决方法

发布后,我意识到我做错了什么.
function showLoading() {
    loadingControl.show();
}

应该

showLoading = function() {
    loadingControl.show();
}

猜你在找的jQuery相关文章