实际上我正在尝试在焦点丢失时将焦点放在文本框上。这背后的原因是如果某些验证失败(如空字段验证)并且验证是有必要强制设置焦点在文本框上执行该文本框的模糊事件。 我也曾在小提琴上尝试过,但似乎焦点在那里,但光标没有闪烁。
Please refer link :
http://jsfiddle.net/zHeJY/
请让我知道这背后的原因和解决方案。
提前致谢。
答案 0 :(得分:3)
首先:除非验证通过,否则将用户置于输入内是一个坏主意!应该允许用户集中他们想要的任何东西。理想情况下,如果验证失败,您可以阻止表单提交。
问题 :( 1)您提供的小提琴中没有任何其他元素。 (2)你没有验证任何东西,只是做模糊焦点循环的无限循环!
解决方案:
看到这个小提琴:http://jsfiddle.net/zHeJY/7/
使用适当的验证程序(以及另一个可用的元素),它将起作用。
HTML :
<input id="setFocus"/>
<input id="other" />
JS :
$("#setFocus").on("blur", function(e) {
if (! validate(this)) {
$(this).focus();
}
});
答案 1 :(得分:0)
<div id="something">
<input type="text" id="setFocus"/>
<input type="text" id="setFocus1"/>
</div>
<强> JS 强>
$("#something").mouseup("blur",function(){
$(this).children(":first").focus();
})
如果您点击任何可获得所需结果的地方
,您应该拥有此元素答案 2 :(得分:0)
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js">
</script>
<script type="text/javascript">
$( document ).ready(function() {
$(document).on('blur', "#setFocus", function (e) {
$(this).focus();
});
});
</script>
</head>
<body>
<input type="text" id="setFocus"/>
<input type="text" id="set"/>
</body>
</html>