2

如何强制模糊,但不调用 JavaScript/jQuery 中的 onBlur 事件?

我将尝试向您描述我需要它的用途:

  • 当调用 onBlur 时,我通过 jQuery 调用 PHP 脚本并验证输入。如果有问题,它会返回一条消息,然后我将其显示在 jQuery 脚本中。
  • 如果未填充模糊字段,则脚本应将用户重点放在该字段上。

问题是,如果您按 TAB 更改字段,并且您的第一个字段未填充,脚本会将您聚焦回来,但随后从第二个字段调用 onBlur 也未填充,然后它会导致无限循环。

所以,我想在不调用 onBlur 事件的情况下模糊一个字段并聚焦到另一个字段。

4

3 回答 3

4

这不是您问题中指定的答案,但我建议您做的(从某种 UX 角度来看)是取消自动重新聚焦无效输入,而是标记无效字段(我可以建议例如红色?)。现在,您可以处理(可以说)更简单的防止表单提交无效数据的问题,而不是防止事件的自然浏览器行为类型的问题。

此外,我敢说自动重新对焦对用户来说很烦人。想象一下切换到第二个字段,开始输入,然后突然yoink!您被拖到第一个字段。

于 2012-06-25T15:15:37.560 回答
1

为什么不只使用“更改”和“keyup”而不是模糊?

于 2012-06-25T15:15:48.660 回答
1

我同意上面理查德的观点,没有什么比在打字过程中失去焦点更烦人的了,但是如果您确实需要这样做(由于客户要求等) - 在自动聚焦该字段的代码中,onBlur暂时禁用该功能直到您聚焦该领域,然后重新启用它。

于 2012-06-25T15:17:45.357 回答