我如何仅在某种条件下限制jQuery,否则立即执行?

时间:2012-02-08 07:52:22

标签: javascript jquery

我正在使用this jQuery plug-in来获得油门支持。

我有一个名为textbox的文本输入变量,如下所示,每秒最多执行一次someFunction

textbox.keypress($.throttle(1000, someFunction(e)));

但是,如果按下的键是输入键,我希望someFunction立即执行。我不太清楚如何做到这一点。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

textbox.keypress(function(event) {
  if(event.which == 13){
    // Enter key has been preseed. Do something.
  } else {
    $.throttle(1000, function(){
      someFunction(event);
    })
  }
});

请记住您为回调传递的内容。 'someFunction'和'$ .throttle'都是直接调用的,它们的返回值作为回调传递。为避免这种情况,请将函数包装在函数(lambda)中,如上所述。

答案 1 :(得分:0)

如果是这种情况,您需要在代码中包含“ENTER”按键的处理程序并中止$.throttle。您可以粘贴更多代码,以便让我们更好地了解要使用的代码吗?