【问题标题】:change() problems when blur() hides the fieldblur() 隐藏字段时的 change() 问题
【发布时间】: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 版本,它也可以工作。令人困惑...

标签: jquery onchange blur


【解决方案1】:

jQuery 更新到 1.9.1 已经解决了这个问题。干杯!

【讨论】:

    猜你喜欢
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多