我的onblur
事件正在window.onload
开始。我怀疑我选择了错误的节点。当我在console.log(input)
function checkList()
时显示<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();
}
答案 0 :(得分:2)
您的onblur
事件未提前触发,而是在您真正打算进行作业时调用checkInput
函数。
将input.onblur = checkInput();
替换为input.onblur = checkInput;