实际上,我试图在焦点丢失时将焦点设置在文本框上。其背后的原因是,如果某些验证失败(例如空字段验证)并且验证是,则需要强制将焦点设置在文本框上对该文本框的模糊事件执行。 我也在 fiddle 上尝试过,但焦点似乎在那里,但光标没有闪烁。
请引用链接:
http://jsfiddle.net/zHeJY/
请让我知道这背后的原因以及解决方案。
提前致谢。
最佳答案
首先:除非验证通过,否则将用户困在输入中是一个坏主意!应该允许用户专注于他们想要的任何事情。理想情况下,如果验证失败,您可以阻止表单提交。
问题:(1) 您提供的 fiddle 中没有任何其他元素。 (2) 您没有验证任何内容,只是为模糊焦点循环执行无限循环!
解决方案:
看到这个 fiddle :http://jsfiddle.net/zHeJY/7/
有了适当的验证例程(并且另一个可用的元素),它就会起作用。
HTML:
<input id="setFocus"/>
<input id="other" />
JS:
$("#setFocus").on("blur", function(e) {
if (! validate(this)) {
$(this).focus();
}
});
关于javascript - 输入文本框焦点模糊事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20943537/