如何在IE-8及更早版本中使用事件侦听器

时间:2016-03-16 10:00:43

标签: javascript internet-explorer

我想要一个检查用户是否在表单中输入了足够多个字符的函数。我的代码适用于chrome,但不适用于IE。

var elUsername = document.getElementById('username');  
var elMsg      = document.getElementById('feedback');   

function checkUsername(minLength) {                     
  if (elUsername.value.length < minLength) {           

    elMsg.innerHTML = 'Username must be ' + minLength + ' characters or more';
  } else {                                             
    elMsg.innerHTML = '';                            
  }
}

elUsername.addEventListener('blur', function() {      
  checkUsername(5);                                     
}, false);

1 个答案:

答案 0 :(得分:0)

IE5-8有一个不同的事件模型,不支持addEventListener(),但你可以提供回退代码。

var elUsername = document.getElementById('username'); 
var elMsg = document.getElementById('feedback');       

function checkUsername(minLength) {                  
  if (elUsername.value.length < minLength) {           

    elMsg.innerHTML = 'Username must be ' + minLength + ' characters or more';
  } else {                                           
    elMsg.innerHTML = '';                              
  }
}

if (elUsername.addEventListener) {             
  elUsername.addEventListener('blur', function(){
    checkUsername(5);                            
  }, false);                                     
} else {                                         
  elUsername.attachEvent('onblur', function(){   
    checkUsername(5);                            
  });
}