我正在使用 JavaScript 对 HTML 表单进行验证。
为什么刷新页面时Validator.validateInput
会执行?
我希望它在模糊元素“first”时执行。
var Validator = {
init: function () {
var form = document.getElementById('form');
var first = form.elements[0];
first.focus();
var firstname = /^[a-z -']+$/;
first.onblur = Validator.validateInput(first,firstname);
最佳答案
first.onblur = Validator.validateInput(first,firstname);
这一行的作用是使用两个参数(first
和 firstname
)调用 Validator.validateInput
。然后将 first.onblur
设置为 validateInput
的返回值。
因此,Validator.validateInput
在页面加载时执行,因为这就是您正在做的事情。您可能想这样做:
first.onblur = function(){
Validator.validateInput(first,firstname);
};
关于javascript - onblur 执行错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8433330/