2012-11-28 2 views
0

У меня есть следующий код, и я не могу назвать ShowMedalMessage функцияВызов функции из addEventListener()

var totalsounds = 3; 
var currentsound = 1; 
var audioElement = document.createElement('audio'); 
audioElement.setAttribute('src', 'notify.wav'); 
audioElement.setAttribute('autoplay', 'autoplay'); 
audioElement.addEventListener('ended', function() { 
    if (currentsound < totalsounds) { 
     this.currentTime = 0; 
     this.play(); 
     currentsound = currentsound + 1; 
    } 
    ShowMedalMessage(1); 
}, false);​ 

() Если вызов функции, прежде чем audioElement.addEventListener, он называет правильно, но если строка ShowMedalMessage (1); находится внутри, он не работает :(

Спасибо!

+0

Вы проверили консольных журналы в chrome/firefox для ошибок? Я не вижу ничего плохого в коде. –

+0

он не может быть инициирован в момент возникновения события, он регистрирует ошибку? –

+0

Я смотрю, что в Firefox не работает звук, воспроизводимый ... с o r без ShowMedalMessage() ... weird:/ – MGE

ответ

0

это работало для меня в хроме и в Firefox.

Hese является живой example

function showMessage() { 
    document.write("Sound played"); 
} 

var totalsounds = 3; 
var currentsound = 1; 
var audioElement = document.createElement('audio'); 
audioElement.setAttribute('src', 'http://www.wav-sounds.com/cartoon/bugsbunny1.wav'); 
audioElement.setAttribute('autoplay', 'autoplay'); 
audioElement.addEventListener('ended', function() { 
    if (currentsound < totalsounds) { 
     this.currentTime = 0; 
     this.play(); 
     currentsound = currentsound + 1; 
    } 
    showMessage(); 
}, false); 

document.body.appendChild(audioElement); 
+0

не работает в firefox .. и я не знаю, почему, я не могу получить доступ к ShowMedalMessage из другой функции ... странно. – MGE

+0

Был ли живой пример для вас? Если он не работает в firefox, попробуйте обновить браузер, я думаю. – AlexandruSerban

+0

ваш пример работает, но не мой в firefox http://bit.ly/U2YrdM, и, как вы можете видеть, функция не вызывается ни в одном браузере. – MGE

Смежные вопросы