javascript - 如何仅在特定条件下限制 jQuery,否则立即执行?

标签 javascript jquery

我正在使用this jQuery plug-in用于 throttle 支持。

我有一个名为 textbox 的文本输入变量,设置如下,它将每秒最多执行一次 someFunction :

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

但是,如果按下的键是 enter 键,我希望 someFunction 立即执行。我不太确定该怎么做。有什么建议吗?

最佳答案

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

请记住您为回调传递的内容。 'someFunction' 和 '$.throttle' 都被直接调用,它们的返回值作为回调传递。为了避免这种情况,请将函数包装在函数 (lambda) 中,就像我上面所做的那样。

关于javascript - 如何仅在特定条件下限制 jQuery,否则立即执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9189494/

相关文章:

jquery 循环遍历每个表行并对每个行输入字段执行数学运算

jquery - 有什么方法可以用 CSS/jQuery 手动排列列表项(只对它们排序一次,而不是四处拖动)?

javascript - 用于更新 IFrame 主体的 AngularJS 指令

jquery - jqGrid向特定列添加多选列过滤器

javascript - 如何为带有图片的单选按钮制作显示和隐藏标题

javascript - 在 css 弹出菜单中工作的 jquery slider

javascript - 循环浏览购物车商品并返回它自己的 ID

javascript - 从 View 调用函数后尝试将数据数组设置为 $scope

javascript - 如何两次选择同一个选项

javascript - Vuetify 问题 - 尽管图像是从有效来源传入的,为什么 v-img 组件不显示任何内容?