如何在不调用onBlur事件的情况下强制模糊

时间:2012-06-25 15:10:20

标签: javascript jquery

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

我会试着描述一下我的需要:

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

问题在于,如果你按TAB更改字段,并且你的第一个字段没有填充,脚本会把你的注意力集中回来,但是然后从第二个字段调用onBlur,它也没有被填充,然后它会导致无限循环。

所以,我想模糊一个字段并专注于另一个字段,而不需要调用onBlur事件。

3 个答案:

答案 0 :(得分:4)

这不是你问题中规定的答案,但我建议你做的事情(在某种类似的UX视角下)是废弃无效输入的自动重新聚焦,而是标记无效字段(我可以建议红色,例如?)。现在,您可以处理(可以说)更简单的问题,即阻止表单提交无效数据,而不是阻止自然浏览器行为类型的事件。

此外,我敢说自动重新聚焦对用户来说是“强烈的”刺激性。想象一下,选择第二个字段,开始输入,然后突然 yoink!你被拖到第一个字段。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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