...
$(document).ready(function(){
$('form').submit(function(){
$('input#second').focus();
return false;
});
$('#first').blur(function(){
alert('blur');
});
});
...
<form>
<input id=first><br>
<input id=second><br>
<input type=submit>
</form>
...
然后发生以下情况:
这是live demo。
我错过了什么?
由于
答案 0 :(得分:2)
尼克是对的你的HTML真的搞砸了。您还没有结束输入标签或br(s)。最重要的是,您应该将输入标记中的属性值用双引号括起来。
此处的作品是demo http://www.jsfiddle.net/dAdG8/
<script type="text/javascript">
$(document).ready(function(){
$('form').submit(function(){
$('input#second').focus();
return false;
});
$('#first').blur(function(){
alert('blur');
});
// logging
$('input').blur(function(){
$('pre').append('blur, ' + this.id + '\n');
});
$('input').focus(function(){
$('pre').append('focus, ' + this.id + '\n');
});
});
</script>
<form>
<input id="first" />
<br />
<input id="second" />
<br />
<input type="submit" />
</form>
答案 1 :(得分:1)
据JQuert bugtracker的this comment报道,解决问题的方法是 使用
$('input#second')[0].focus();
而不是
$('input#second').focus();
是否是一个bug仍然由jq负责人决定,但我猜这是因为
谢谢大家。夜。