如果您点击一个键然后立即(我的意思是很快)点击另一个文本框,似乎错过了文本框上的键盘事件。
我通过捕获keyup和blur事件来解决这个问题。有一个更好的方法吗?
证明这一点的代码是......
Hit a key here: <input id="i1" /><br/>
Click mouse here: <input id="i2" />
<pre></pre>
$('#i1').bind('focus blur select change click dblclick mousedown mouseup mouseover mouseout keypress keydown keyup', function (e) {
$pre = $('pre');
$pre.html(e.type + ": " + $(this).val() + "<br>" + $pre.html());
});
And here's a jfiddle that demonstrates it.将光标放在第一个文本框中,将鼠标悬停在第二个文本框上,然后非常快速(几乎同时)单击第二个框中的鼠标按钮。你会看到keydown,keypress,change和blur,但不会看到keyup。