Keydown事件无法正常工作

Red*_*ddy 1 jquery

我的要求是,如果文本框值大于0,则取消选中该复选框.但是在两次关键操作后取消选中它.我无法识别错误......请有人帮助我.

     $('#'+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)
       }
      });
Run Code Online (Sandbox Code Playgroud)

Lig*_*ica 5

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

所以:

  • 当事件第一次触发时,你将第一个字符插入到文本框中但是DOM还不知道这个,所以$(this).val().length仍然是0;

  • 事件第二次触发时,您将第二个字符插入文本框,并且$(this).val().length从上次开始是1.

而是使用在keyup更新文本框值后触发的事件.