Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 发出警报(';你好';);是否在pageLoad()函数中工作?_Javascript - Fatal编程技术网

Javascript 发出警报(';你好';);是否在pageLoad()函数中工作?

Javascript 发出警报(';你好';);是否在pageLoad()函数中工作?,javascript,Javascript,警报在pageLoad中不起作用,为什么?谢谢 <html> <head> <script type="text/javascript"> function pageLoad() { alert('hello'); } </script> </head> <body /> </html> 函数pageLoad() {

警报在pageLoad中不起作用,为什么?谢谢

<html>
<head>  
    <script type="text/javascript">
        function pageLoad()
        {
            alert('hello');
        }
    </script>
</head>
<body />
</html>

函数pageLoad()
{
警惕(“你好”);
}

发现问题:Dave Ward建议,因为我的页面没有脚本管理器(为我调用PageLoad)。这就是我感到困惑的原因。当没有脚本管理器时,我从未意识到我必须自己调用它。

是的,但您需要在某个地方调用它:

<script type="text/javascript">

    function pageLoad()
    {
        alert('hello');
    }

    pageLoad();  // invoke pageLoad immediately

</script>

函数pageLoad()
{
警惕(“你好”);
}
pageLoad();//立即调用pageLoad
或者您可以将其延迟到加载所有内容:

<script type="text/javascript">

    function pageLoad()
    {
        alert('hello');
    }

    window.onload = pageLoad;  // invoke pageLoad after all content is loaded

</script>

函数pageLoad()
{
警惕(“你好”);
}
window.onload=pageLoad;//在加载所有内容后调用pageLoad
试试:


函数pageLoad()
{
警惕(“你好”);
}

或者,您可以自行调用它

(function pageLoad() {
  alert('hello');
})();

pageLoad
从未被调用。请尝试以下操作:

<html>
<head>  
    <script type="text/javascript">
        function pageLoad()
        {
            alert('hello');
        }
        window.onload = pageLoad;
    </script>
</head>
<body />
</html>

您还可以使用另一种Javascript框架,因为大多数Javascript框架都提供了类似的方法。它们都考虑了与附加到事件处理程序相关的许多问题。

您从未调用过
pageLoad()
?pageLoad()是一个使用ASP.NET脚本管理器(即MicrosoftAjax.js)进行分页的函数将在ASP.NET AJAX的客户端库初始化后自动执行,然后在每次UpdatePanel刷新后再次执行。显然,由于它没有运行,他可能在他的页面上没有ScriptManager/MicrosoftAjax.js,但这就是为什么他可能认为pageLoad()会在没有显式调用的情况下执行。@Dave Ward:很好。您已经解释了为什么在使用ajax的程序的另一端,它可以工作。我总是想当然地自动调用函数。看到其他答案,我知道我必须调用它。如果该页面上有jQuery可用,请将
pageLoad()
替换为
$(document.ready()
)。在初始页面加载时,它们几乎相同。我在这里详细介绍了这一点:@Dave Ward:哦,我对那一页非常了解。你是这个领域的主人!太棒了,thaks为你的网站提供了我找到的所有提示。(包括ajax的等待鼠标光标)。在一个非常简单的级别上,上面的代码没有任何错误。然而,我认为你不太可能真的想在你的应用程序中运行这个特定的代码。在具有更复杂需求的实际场景中,您可能会很快遇到问题。例如,如果应用程序中的其他代码将window.onload设置为其他代码,该怎么办?你最终可能会有不受欢迎的行为。使用像jQuery这样的库为您处理这一问题,您可以在处理跨浏览器问题的同时解决这类问题。
window.onload=pageLoad
删除以前可能以这种方式绑定的任何处理程序,并
$(window).load(pageLoad)可以多次使用而不会产生冲突。如果使用
$(document).ready(pageLoad)
或只是它的缩写
$(pageLoad)而不是
$(窗口)。加载(页面加载)
然后它将在DOM准备就绪后立即启动,而无需等待所有资源(如图像)加载,因此它更快、更可靠,尤其是当您有任何外部资源可能在延迟后加载或根本不加载时。(嗯,我是在回答一条刚刚消失的评论。哦,好吧…)似乎上面的回复所针对的评论已经被删除了。作为记录,问题是为什么jQuery方法更好@rsp:使用$(pageLoad)方法,这通常是更好的选择;我考虑过要提到这一点,但还是决定简单一点。不过我绝对同意你的看法。
<html>
<head>  
    <script type="text/javascript">
        function pageLoad()
        {
            alert('hello');
        }
        window.onload = pageLoad;
    </script>
</head>
<body />
</html>
$(window).load(pageLoad);