Visibility JQuery Function (ready(), change()...)

Visibility JQuery Function (ready(), change()...)

本文关键字:change JQuery ready Visibility Function      更新时间:2023-09-26

我有三个文件:

  1. Php文件,我包括其他两个文件,像这样:

    <head>
        <!-- 1. Javascript File-->
        <script src="js/functions.js"></script>
    </head>
    <html>
           <?php include 'includes/question1.html' ?>
    </html>
    
  2. functions.js文件如下所示:

    $(document).ready(function(){
        function showError(){
              alert('ERROR');
        }
    });
    $('input').change(function(){
         // SOME STUFF HERE 
    });
    

但是现在我想在第三个数据或正常的Php文件中使用"showError"函数或"change"函数,但它每次都说没有这样的函数。

这只是一个可见性的问题,我怎么能改变这个?

问题与文件没有任何关系,如果找到jQuery并执行js(当您从中得到错误时似乎可以工作),则它们很好。

您的问题是范围,其中showError可用。您已经在jQuery-ready处理程序中声明了它,这意味着它只能在这里可用,而不能从外部使用。

同样,你应该把像$('input')这样的DOM选择总是放在ready处理程序中——这就是它的目的。

那么这个就可以了:

$(document).ready(function(){
    function showError(){
        alert('ERROR');
    }
    $('input').change(function(){
        // SOME STUFF HERE
        // including calls to showError();
    });
});

实际上,您甚至可以将showError声明移出处理程序的到全局作用域。