我想在second.js文件中调用在first.js文件中定义的函数。这两个文件都在HTML文件中定义,如下所示:
<script type="text/javascript" src="first.js"></script>
<script type="text/javascript" src="second.js"></script>
我想在second.js
中调用在first.js
中定义的fn1()
。根据我的搜索,答案是如果首先定义first.js
是可能的,但从我的测试来看,我还没有找到任何方法来做到这一点。
下面是我的代码:
second.js
document.getElementById("btn").onclick = function() {
fn1();
}
first.js
function fn1() {
alert("external fn clicked");
}
发布于 2015-01-19 14:57:05
第一个JS:
function fn(){
alert("Hello! Uncle Namaste...Chalo Kaaam ki Baat p Aate h...");
}
$.getscript("url or name of 1st Js File",function(){
fn();
});
发布于 2014-09-22 03:22:23
您可以在first.js
中将函数设置为全局变量,并查看closure,而不是将其放入document.ready
中,而是将其放在外部
您也可以使用ajax
$.ajax({
url: "url to script",
dataType: "script",
success: success
});
与使用jquery getScript的方式相同
$.getScript( "ajax/test.js" )
.done(function( script, textStatus ) {
console.log( textStatus );
})
.fail(function( jqxhr, settings, exception ) {
$( "div.log" ).text( "Triggered ajaxError handler." );
});
发布于 2019-09-29 12:43:01
您可以考虑使用es6 import export语法。在文件1中;
export function f1() {...}
然后在文件2中;
import { f1 } from "./file1.js";
f1();
请注意,这仅在您使用<script src="./file2.js" type="module">
时有效
如果这样做,您将不需要两个脚本标记。您只需要主脚本,您可以将所有其他内容导入到那里。
https://stackoverflow.com/questions/25962958
复制相似问题