繁体   English   中英

为什么在外部文件中使用内联代码不起作用,但在使用函数时起作用

[英]why when using inline code in external file doesn't work, but when using function work

我知道问题的标题可能无法理解,但我会解释一下。

每个人都知道我们可以使用以下任何一种方式。

例子(1)

document.getElementById('idofelement').onsubmit = function() {
   alert('Go ahead');
   return false;
}

例子(2)

function DisplayMsg(){
   alert('Go ahead');
   return false;
}

// and in HTML
<form action="file.php" method="post" onsubmit="return DisplayMsg();">

我的问题(1):
两种方式或两个示例有什么区别

我的问题(2):
为什么example (1)在外部JavaScript文件中不起作用,但是在目标HTML代码附近插入example (1)时与我一起工作。 example (2)可以在任何位置工作,无论是在外部文件中还是在目标HTML代码附近。

加载文档后,应该始终调用方法getElementById。 因此,正如@JanDvorak所建议的那样,您应该使用jQuery将其包装在$.ready()中。 如果不是,请改用window.onload = function()

顺便说一句:函数定义后不要忘记分号,IE容易受此语法的影响

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM