jquery-ui - 如何 (function(){ ......... });作品

标签 jquery-ui jquery

嘿伙计们,我是一个新人,试图找出一些令人困惑的方法

    var delay = (function(){
      var timer = 0;
      return function(callback, ms){

        clearTimeout (timer);
        timer = setTimeout(callback, ms);
      };
    })();

这是我找到的一段代码,它的用法如下

$("input").keyup(function() {
    delay(function(){
      alert('works');
    }, 1000 );
});

我知道上面的代码可以工作,因为我测试过它,但我不明白 (function(){ 到底是什么意思,以及回调如何具有

         function(){alert('works');} 

作为之前没有接受参数时的参数..!

谢谢大家

最佳答案

函数只是将多行代码包装在一起的一种方法。

您可以匿名并立即执行:

     (function (){ alert("I'm working!");})();

然后您可以为其指定一个名称,例如:

     function myFunction(){ alert("I'm working!");}

你可以这样调用它:

     myFunction();

你可以做

     $("input").keyup(function() {
         delay( myFunction, 1000 );
     });

一旦在输入时抬起一个键,它将在 1000 毫秒后运行 myFunction。

关于jquery-ui - 如何 (function(){ ......... });作品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15793390/

相关文章:

JQuery Ajax 在 IE10 中不工作

javascript - 单击仅返回 jQuery 中的第一个项目值

javascript - 为什么pageshow不能在jquery mobile中调用?

jquery-ui - jQuery UI datepicker onChangeMonthYear 和 inst 参数

javascript - 拆分数组的元素

包含 jQuery UI,不明白为什么它失败

javascript - Controller Action 完成时隐藏 div

javascript - 显示和隐藏具有相同类的不同 <img>

javascript - 删除以前的 "droppable"jQuery UI

jquery-ui - 当从 ajax 加载 html 时,启用 jQuery datepicker