【发布时间】:2013-04-02 16:57:06
【问题描述】:
<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(); }
});
当我更改字段内容然后通过鼠标单击取消焦点时,一切正常(出现警报)。按下“输入”时会出现问题。 Blur 事件以编程方式触发,该字段隐藏但 change() 不起作用。只有当我单击页面上的某个位置或使用选项卡时,它才会雇用。看起来输入并没有失去焦点。为什么这样?我应该如何正确触发模糊?
附:当模糊函数体为空时,它可以正常工作。
【问题讨论】:
-
对我来说工作得很好,弹出警报并且按 Enter 时隐藏该字段 -> FIDDLE
-
嗯,你是对的......谢谢。也许我应该为我的项目更新 jquery。但在小提琴上,即使选择了 1.6.4 版本,它也可以工作。令人困惑...