0
<input id="blur-test" type="text"/>

$('#blur-test').blur(function() { $(this).hide(); });
$('#blur-test').change(function () { alert('ok'); });
$('#blur-test').keydown(function (e) {
    if (e.which == 13) { $(this).blur(); }
});

フィールドの内容を変更し、マウス クリックでフォーカスを外すと、すべて問題ありません (アラートが表示されます)。「Enter」キーを押すと問題が発生します。Blur イベントはプログラムでトリガーされ、フィールドは非表示になりますが、change() は機能しません。ページのどこかをクリックするか、タブを使用したときにのみ採用されます。入力がフォーカスを失っていないようです。なんでそうなの?また、ぼかしを正しくトリガーするにはどうすればよいですか?

PSぼかし関数本体が空の場合、正常に動作します。

4

1 に答える 1