首页 > 解决方案 > 取消按键事件代码中的按键事件代码

问题描述

这是我的代码

    $(textBoxElement).keydown(function(e)
 {
  if(e.keyCode==40)
   {
    //some codes
    //cancel key up event 
   }
 }
)
 $(textBoxElement).keyup(function()
  {
    //some codes
  }

我希望用户在按下向下箭头键时不运行 keyup 事件代码

返回假;和 e.stopPropagation;不工作

标签: javascriptjquery

解决方案


该事件仍将被触发,无法阻止该事件触发 - 但您可以更改的是您处理该事件的方式。以下面的代码为例:

var disableKeyUp = false;
$(textBoxElement).keydown(function(e) {
  disableKeyUp = true
})
$(textBoxElement).keyup(function(e) {
  if (!disableKeyUp) {
    // handle keyup event behavior
  }
})

我们使用布尔变量来禁用 keyup 行为,因为只有当disableKeyUp设置为时false,keyup 事件行为才会发生。

不要忘记在需要时重新启用 keyup 行为:)


推荐阅读