如何调用$(document).ready中的函数

我试图调试我使用jQuery. Web应用程序jQuery.

在firebug im中调用$(document).ready中的函数..

  function val() { console.log('validated outside doc.ready'); } $(document).ready(function() { console.log('document ready...'); function validate() { console.log('validated!'); } } 

在firebug控制台中,我输入validate() ,它说它不是一个函数

如果我键入val()它工作正常。

我如何从控制台调用validation?

你没有调用这样的函数,你只需要定义函数。

正确的方法是在document.ready之外定义函数并在其中调用它:

 // We define the function function validate(){ console.log('validated!'); } $(document).ready(function(){ // we call the function validate(); }); 

另一种选择是自我调用这样的函数:

 $(document).ready(function(){ // we define and invoke a function (function(){ console.log('validated!'); })(); }); 

您的validate函数是您传递给jQuery ready处理程序的函数的本地函数。

如果你这样做:

 window.validate = function(){ /*....*/ }; 

您将能够从控制台访问。 但是污染全局范围并不是一个好习惯,除非它只是用于调试。

好吧,你有什么理由需要在文件准备好的内容中使用该function吗? 只有在这些括号(范围)内,该函数才会存在。 只需将其移出,或仅将其全部移出document.ready