繁体   English   中英

onblur 在 window.onload 上触发

[英]onblur firing on window.onload

我的onblur事件在window.onload上触发。 我怀疑我选择了错误的节点。 当我在function checkList() console.log(input)它显示<input name='newTask'>这是使用onblur的正确方法吗?

app.view = (function(){
    function init(){
        checkList();
    }

    function checkList(){
        var input = document.getElementsByName('newTask')[0];

        input.onblur = checkInput();

        requestAnimFrame(checkList);
    }

    function checkInput(){

        alert('check input');
    }

    return {
        init : init
    }
})();

window.requestAnimFrame = (function(){
    return  window.requestAnimationFrame       || 
            window.webkitRequestAnimationFrame || 
            window.mozRequestAnimationFrame    || 
            window.oRequestAnimationFrame      || 
            window.msRequestAnimationFrame     || 
            function( callback ){
                window.setTimeout(callback, 1000 / 60);
            };
})();

window.onload = function(){
    app.view.init();
}

您的onblur事件并没有提前触发,而是在您真正想要进行分配时调用了checkInput函数。

替换input.onblur = checkInput(); input.onblur = checkInput;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM