2013-08-20 100 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);