加载html页面时从外部文件调用Javascript函数

时间:2018-10-08 12:43:37

标签: javascript jquery html5

我想从名为james()的Javascript文件中加载名为hello.js的函数,该文件作为外部文件添加到index.html中。

我的问题是,在$(document).ready(function())中声明了james函数时,它只是说'james function is undefined'而没有被调用。如何使用onload调用document.ready内部声明的函数?

<html>
<head>
</head>
<body onload= "james()">
         <script src=hello.js>
</body>
</html>

hello.js javascript文件

function mountApp{

   $(document).ready(function(){

      function james(){
      alert("how can i get call ,when html page is loaded");
     }
 });
}

2 个答案:

答案 0 :(得分:0)

您的“ james”功能在正确的范围内不存在。它在“就绪”事件侦听器中声明,并且仅存在于侦听器范围内。之后,它将不再可用。

您无法做您想做的事情。函数不能在声明它们的范围之外使用。 而是将函数移到全局范围。

function mountApp{

   $(document).ready(function(){
     // You can call the function from here
     james();
   });
}

function james(){
  alert("how can i get call ,when html page is loaded");
}

现在,我不明白为什么要在函数内添加事件侦听器“ onready”,因为仅在DOM准备就绪后才执行函数调用,因此它将永远不会触发。

答案 1 :(得分:0)

真正的方法是,在document.ready函数外部创建函数,然后调用

function james()
{
  alert("how can i get call ,when html page is loaded");
}
$(document).ready(function(){
 james();
)};