输入.on('keydown')第一次不工作(input .on('keydown') not working at first time)
我想使用.on()来监听我的jquery中的输入文本的一些事件,这是我的代码,但是第一次按下一个键时它不能在keydown上工作:
$(s.join(", ")).on('keyup paste change focus blur keydown', function(e) { if($(e.target).val()!='') console.log(e.which); })I want use .on() for listening some event of input text in my jquery and this is my code, but it's not working on keydown in first time i pressed a key:
$(s.join(", ")).on('keyup paste change focus blur keydown', function(e) { if($(e.target).val()!='') console.log(e.which); })最满意答案
keydown事件被触发,但到那时候还没有添加角色。 因此检查值是否为空将不起作用。 你应该尝试这样的事情:
$(s.join(", ")).on('keyup paste change focus blur keydown', function(e) { if($(e.target).val()!='' || e.type == 'keydown') console.log(e.which); })要在keydown和keyup上演示值,请查看http://jsfiddle.net/vtUdE/ (查看控制台日志)
It's the solution I think, it's need just some little sleep (It's working :-O ) :
$(s.join(", ")).on('keyup paste change focus blur keydown', function(e) { setTimeout(function() { if($(e.target).val()!='') console.log(e.which); },1); });更多推荐
发布评论