我是javascript和jquery的新手,刚刚完成了一个教程。
$('form').keydown(function (key) {
key = parseInt(key.which, 10);
var toAdd = $('input[name=type]').val();
var s = $('.text p').text();
if (key !== 8) {
s = s.substring(0, toAdd.length);
alert(s);
alert(toAdd);
if (toAdd === s) {
$('.img').animate({ left: '+=25px' }, 5);
}
这是我试图执行的代码的一部分。
但是当我在文本框中插入文本时,第一个字母没有分配到toAdd。
当我把线放在第二行和第三行之间时,它工作得很好:
alert("something");
我是否需要使用等待或稍微等待的功能?
我希望我能理解......
谢谢
答案 0 :(得分:5)
您需要使用keyup
而不是keydown
。当keydown被触发时,该字母不在文本框中。