Javascript 如何从外部文件链接调用函数到主文件
我想从一个外部文件调用一个函数,但它显示它是未定义的,我到目前为止尝试的是 index.html文件Javascript 如何从外部文件链接调用函数到主文件,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我想从一个外部文件调用一个函数,但它显示它是未定义的,我到目前为止尝试的是 index.html文件 <button class="btn btn-primary" onclick="check()" >click</button> 我想在index.html中单击一个按钮调用javascript文件。当我单击click按钮时,它显示检查未定义。当您在页面中链接jQuery时(我知道了,因为您使用了$sign),在html标记上使用onClick不是一个好主意。 我建议
<button class="btn btn-primary" onclick="check()" >click</button>
我想在index.html中单击一个按钮调用javascript文件。当我单击click按钮时,它显示检查未定义。当您在页面中链接
jQuery
时(我知道了,因为您使用了$sign
),在html标记上使用onClick不是一个好主意。
我建议您将class
或id
添加到按钮
中,并使用jQuery
处理单击事件
,如下所示:
$(function(){
$('.CLASS_NAME').on('click', function(){
// ...
});
// OR
$('#BUTTON_ID').on('click', function(){
// ...
});
});
或者文档尚未完成加载,所以在您单击该函数时尚未声明该函数,但我对此深表怀疑 更有可能是您忘记将外部脚本添加到html中。而且您还必须包括jQuery,因为您正在使用它($=jQuery)。您的html应该如下所示:
<html>
<head>
<title>Title of your page</title>
<script src="https://code.jquery.com/jquery-1.11.3.min.js" />
<script src="path/to/your/script.js" />
</head>
<body>
<button class="btn btn-primary" onclick="check()" >click</button>
</body>
</html>
页面标题
点击
这是因为您的函数是在按钮事件无法到达的范围内声明的。按钮事件只能以您使用的方式到达全局函数或变量。除此之外,你必须把它绑起来,就像@Mehdi说的:
<button class="btn btn-primary check">click</button>
或者更好,或者你可以一直这样做:
$('body').on('click', '.check', function() {
// Perform your check here.
});
.ya我在@dontvotemedown中包含了它打开你的开发工具,确保文件在你定义它的地方找到。您不需要ready函数中的check函数。此解决方案的body上绑定事件!这不是个好主意@MehdiDehghani当然。我更新了它。如果只有一个元素,它实际上是不正确的。但是,对于许多元素,甚至是动态创建的元素,这是一个很好的实践。我只是想展示不同的作用域用法。是的,对于动态创建的元素是正确的,(当然,我认为对于动态创建的元素,如果我们绑定在最接近的静态父对象上,那么绑定在主体上会更好)
$(document).ready(function() {
$(".check").on("click", function() {
// Perform your check here.
});
});
$('body').on('click', '.check', function() {
// Perform your check here.
});