javascript - onblur 执行错误

标签 javascript dom-events onblur

我正在使用 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);

这一行的作用是使用两个参数(firstfirstname)调用 Validator.validateInput。然后将 first.onblur 设置为 validateInput 的返回值。

因此,Validator.validateInput 在页面加载时执行,因为这就是您正在做的事情。您可能想这样做:

first.onblur = function(){
    Validator.validateInput(first,firstname);
};

关于javascript - onblur 执行错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8433330/

相关文章:

javascript - anchor 标记不附加在段落标记javascript中

javascript - `undefined` 事件中自定义属性的值 (Firefox)

javascript - 在创建新事件之前删除事件

javascript - ngblur 并输入事件 : why on enter key two http calls go?

javascript - Javascript onBlur 事件在 html 文件中出现错误

javascript - 选项卡无法在同一页面上同时使用多个选项卡

javascript - +1 使用 javascript 或 jquery 按钮

javascript - 如何在 Android webview 中通过 ID 捕获元素点击?

javascript - 输入聚焦/模糊背景位置?

javascript - Pentaho CDE 数据表列的弹出组件