我有一个文本框
如何使用jQuery和JavaScript实现?
我已经尝试了这段代码,但它并不起作用(jsFiddle):
<input type="text"/>
,当焦点失去时我想要验证输入内容。如果输入无效,我希望阻止焦点移到下一个元素,或者说保持焦点在无效的输入上直到它有效为止。如何使用jQuery和JavaScript实现?
我已经尝试了这段代码,但它并不起作用(jsFiddle):
<!DOCTYPE html>
<html>
<head>
<script src="jquery-1.6.2.min.js"></script>
<script>
$(function() {
$('.hello').bind('focusout', function(e) {
if(!isValid($(this).val())) {
e.preventDefault();
$(this).foucus();
}
});
});
function isValid(str) {
if(str === "hello") {
return true;
} else {
return false;
}
}
</script>
</head>
<body>
Only valid content: <b>hello</b><br>
<input type="text" class="hello"/>
<button>Dummy</button>
</body>
</html>
:P
特别是当他们意外点击了输入框后,又不得不想办法验证该内容以恢复光标的情况。 - Šime Vidasonevent
属性和全局函数并不是一个好的替代方案。绑定事件处理程序无疑是jQuery这样的库的工作,原因是IE8没有实现W3C的事件API。 - Šime Vidaswindow.myNamespace = {};
然后执行myNamespace.validate = ...;
这样的操作进行解决,这仍然可以使代码显着缩短。 - aroth