可见性JQuery函数(ready(),change()...)

时间:2014-05-06 19:01:18

标签: javascript php jquery html visibility

我有3个文件:

  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 
    
    });
    
  3. 但是现在我想在第三个数据或普通的Php文件中使用“showError”函数或“更改”函数,但每次都没有这样的函数。

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

1 个答案:

答案 0 :(得分:0)

这个问题与文件没有任何关系,如果找到jQuery并执行js,它们就没问题了(当你从中得到错误时,它似乎有效)。

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

此外,您应该将$('input')之类的DOM选择始终放在就绪处理程序中 - 这就是它的用途。

所以这会奏效:

$(document).ready(function(){
    function showError(){
        alert('ERROR');
    }

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

实际上,您甚至可以将处理程序的showError声明 移动到全局范围内。