2013-08-20 60 views
0

我有一个包含addEventListener的脚本,并且发现它在IE9的<中不受支持。我所见过的所有修复程序,根据我的脚本进行编辑时都不起作用,因此寻找一些量身定制的帮助!jQuery addEventListener在IE8中不工作

$(document).ready(function(){ 




var excuses = [ 

'excuse one', 
'excuse two', 
'excuse three', 
'excuse four', 
'excuse five', 
'excuse six', 
'excuse seven', 
'excuse eight', 
'excuse nine' 

]; 

var bttn = document.getElementById('refresh'); 
var excuse = document.getElementById('excuse'); 
var rando = 0; 

var makeExcuse = function(){ 
    rando = Math.floor(Math.random()*excuses.length); 
    excuse.innerHTML = excuses[rando]; 
}; 



makeExcuse(); 

bttn.addEventListener('click',function(e){ 
    e.preventDefault(); 
    makeExcuse(); 






}); 



}); 

非常感谢!

回答

3

试试这个:

if(!bttn.addEventListener) { 
    bttn.attachEvent("onclick", makeExcuse); 
} 
else { 
    bttn.addEventListener("click", makeExcuse, false); 
} 

您必须为IE8这样做,旧的,因为它不是在旧版本比IE 9。正是在这样的记录,大约一半,该页面的支持。

Legacy Internet Explorer and Attach Event

+0

太棒了!我假设我要替换code-makeExcuse(); bttn.addEventListener('click',function(e){e.preventDefault(); makeExcuse(); – user2144363

+0

这应该工作,更正。 – Tricky12

0

只要做到这一点jQuery的方式:

$('#refresh').bind('click', makeExcuse);