Javascript 如何从外部文件链接调用函数到主文件

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不是一个好主意。 我建议

我想从一个外部文件调用一个函数,但它显示它是未定义的,我到目前为止尝试的是

index.html文件

<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.
});