假设我有一个输入字段“lastname”,但如果“firstname”字段仍为空,我不希望人们插入内容。示例:http://jsfiddle.net/GQyHp/
$('input[name=lastname]').focus(function() {
if (!$('input[name=firstname]').val()) {
alert('First enter your first name');
$(this).blur();
}
});
如果我点击“姓氏”字段,我会弹出,但点击“确定”后再次触发相同的弹出窗口。如果我删除了blur()
,则没有第二个弹出窗口。
如何防止blur()
函数触发此事件?
答案 0 :(得分:2)
我认为问题与alert()有关。
当警报框关闭时,焦点将集中在用户最后关注的控件上。这是我的观察。从patrick创建的http://jsfiddle.net/GQyHp/1/代码中删除警报,您会发现它可以正常运行。
因此,不使用内置警报,而是使用精美的盒子,例如可能是一个解决方案。