Javascript 我无法访问jquery中的闭包函数

Javascript 我无法访问jquery中的闭包函数,javascript,jquery,Javascript,Jquery,如何从我的谈话事件中调用sayIt函数。我已经为此奋斗了一整夜 $(document).ready(function () { var sayIt = (function() { alert("I can now say something."); })(); $("#talk").blur(function(){ sayIt(); //<-- Uncaught TypeError: sayIt is not a functio

如何从我的谈话事件中调用sayIt函数。我已经为此奋斗了一整夜

$(document).ready(function () {


   var sayIt = (function() {
        alert("I can now say something.");
    })();


    $("#talk").blur(function(){

       sayIt(); //<-- Uncaught TypeError: sayIt is not a function
    });

});
sayIt不是函数,因为您将该函数声明为自调用函数,并且sayIt只存储它返回的值

$(document).ready(function () {


    var sayIt = function() {
        alert("I can now say something.");
    };

    sayIt(); // it you want to call it once

    $("#talk").blur(function(){

       sayIt(); //<-- Uncaught TypeError: sayIt is not a function
    });

});
sayIt不是函数,因为您将该函数声明为自调用函数,并且sayIt只存储它返回的值

$(document).ready(function () {


    var sayIt = function() {
        alert("I can now say something.");
    };

    sayIt(); // it you want to call it once

    $("#talk").blur(function(){

       sayIt(); //<-- Uncaught TypeError: sayIt is not a function
    });

});

您正在sayIt中使用自调用函数,因此它将在页面加载时独立执行,并提醒文本。但当带有id talk的元素模糊时,您需要发出警报。因此,移除该函数闭包,它就会按预期工作

$document.readyfunction{ var sayIt=函数{ 我现在可以说点什么了。; }; $talk.blurfunction{ 赛义特; }; };
您正在sayIt中使用自调用函数,因此它将在页面加载时独立执行,并提醒文本。但当带有id talk的元素模糊时,您需要发出警报。因此,移除该函数闭包,它就会按预期工作

$document.readyfunction{ var sayIt=函数{ 我现在可以说点什么了。; }; $talk.blurfunction{ 赛义特; }; };
在这种情况下,它不是一个函数。这是一个自调用函数

您需要将sayIt的代码更改为:

var sayIt = function () {
  alert("I can now ay something.");
}

只有这样,您才能从模糊事件调用sayIt。

在这种情况下,sayIt不是一个函数。这是一个自调用函数

您需要将sayIt的代码更改为:

var sayIt = function () {
  alert("I can now ay something.");
}

只有这样,您才能从模糊事件调用sayIt。

您正在使用自调用函数,它会自动调用。因此,如果您需要调用此函数,您应该从代码中删除,使代码看起来像-

var sayIt = function() {
    alert("I can now say something.");
});
但是如果你想打电话,那么你需要使用clouser策略,比如-

var sayIt = (function() {

    return function () {
        alert("I can now say something.");
    };
})();

您正在使用自调用函数,它会自动调用。因此,如果您需要调用此函数,您应该从代码中删除,使代码看起来像-

var sayIt = function() {
    alert("I can now say something.");
});
但是如果你想打电话,那么你需要使用clouser策略,比如-

var sayIt = (function() {

    return function () {
        alert("I can now say something.");
    };
})();

问题的关键是自调用函数。当你把;函数声明结束后,表示函数将调用自身。改变你的职能-

$(document).ready(function () {
   // declaration of function //
   var sayIt = (function() {
    alert("I can now say something.");
   });

    $("#talk").blur(function(){
       sayIt(); //this will work fine
    });

 });

问题的关键是自调用函数。当你把;函数声明结束后,表示函数将调用自身。改变你的职能-

$(document).ready(function () {
   // declaration of function //
   var sayIt = (function() {
    alert("I can now say something.");
   });

    $("#talk").blur(function(){
       sayIt(); //this will work fine
    });

 });

它很容易接近,如果你确定它不起作用,你自己试试。我正在使用chrome浏览器。我不知道这是不是关于浏览器的问题。它很容易访问。如果你确定它不起作用,你自己试试。我正在使用chrome浏览器。我不知道是不是关于浏览器。