链接脚本时,是否会自动运行?

时间:2014-01-19 14:28:41

标签: javascript jquery ajax

我问这个的原因是因为在我的一个页面中我链接了一个javascript脚本,然后当我尝试在javascript文件中运行一个函数时,它不起作用。

这很奇怪,因为当我从脚本文件中复制完全相同的代码并将其放在标签之间时,该功能可以正常工作。

以下是我如何关联它:

<script src="../scripts/login.js" type="text/javascript"></script>

以下是它的引用方式:

<td><button type="button" onclick="login()">log in </button></td>

这是javascript文件,以防你想看到它:

function login()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    username = encodeURICompenent(document.getElementById("username").value);
    password = encodeURICompenent(document.getElementById("password").value); 
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","test.php",true);
xmlhttp.send();
}

1 个答案:

答案 0 :(得分:0)

如果您将外部JavaScript文件附加到文档中,并且它包含在函数声明语法上编写的任何方法中找不到的代码。这些代码将在浏览器解析JavaScript文件后立即执行。

实施例

 function CallMe() {
   console.log("I'm going to execute once callMe method is invoke");
 }

 console.log("I'm going to execute once browser parses the javascript file");

除非有触发/调用按钮的click事件的事件,否则你的案例的登录方法不会执行。