首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Keydown事件工作不正常

Keydown事件工作不正常
EN

Stack Overflow用户
提问于 2011-07-06 19:01:34
回答 2查看 1.8K关注 0票数 1

我的要求是,如果文本框值大于0,则取消选中该复选框。但它在两次按下键后取消选中。我找不到错误...请谁来帮帮我。

代码语言:javascript
运行
复制
     $('#'+QID+' TABLE TBODY TR').find("input[type='text']").live('keydown',function()
      {
       if($(this).val().length > 0)
       {
            $('#'+ExQID+' TABLE TBODY TR').siblings('TR').find(':checkbox').prop('checked',false)
       }
      });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-06 19:05:41

在DOM中的值更改之前触发keydown

所以:

  • 第一次触发事件时,您将第一个字符插入到文本框中,但DOM还不知道这一点,因此$(this).val().length仍然为0;
  • 第二次触发事件时,您将第二个字符插入到文本框中,而$(this).val().length从上次开始为1。

而应使用keyup事件,该事件在更新textbox值后激发。

票数 5
EN

Stack Overflow用户

发布于 2011-07-06 19:10:12

使用keyup insted of keydown

代码语言:javascript
运行
复制
 $('#'+QID+' TABLE TBODY TR').find("input[type='text']").live('keyup',function()
      {
       if($(this).val().length > 0)
       {
            $('#'+ExQID+' TABLE TBODY TR').siblings('TR').find(':checkbox').prop('checked',false)
       }
      });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6595321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档