2012-09-19 3 views
1

Mon événement onblur déclenche le window.onload. Je suspecte que je choisis le noeud faux. Quand je console.log(input) dans function checkList() il montre <input name='newTask'> Est-ce la bonne façon d'utiliser onblur?onblur tir sur window.onload

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(); 
} 

Répondre

2

Votre événement onblur ne se déclenche pas au début, mais vous appelez votre fonction checkInput, quand vous voulez dire vraiment faire une mission.

Remplacer input.onblur = checkInput(); par input.onblur = checkInput;