3
背景
基本上,這個代碼將所有音頻標籤頁面上,當一個完成它開始在DOM下一個。非法調用jQuery的HTML5音頻播放
的問題
當fnPlay
叫我收到Illegal Invocation
錯誤。
//THIS CODE FAILS
var lastAudio = null;
$('audio').each(function(index) {
var fnPlay = $(this)[0].play;
if (lastAudio != null) {
lastAudio.bind("ended", function() {
fnPlay();
});
}
lastAudio = $(this);
});
現在我肯定該代碼的其餘部分是好的,因爲以下工作。
//WORKS GREAT!
var lastAudio = null;
$('audio').each(function(index) {
var lastAudioObj = $(this)[0];
if (lastAudio != null) {
lastAudio.bind("ended", function() {
lastAudioObj.play();
});
}
lastAudio = $(this);
});
問題
任何人都可以解釋爲什麼我不能店內的play()
功能我的變量fnPlay
,並呼籲fnPlay()
,但我可以存儲對象,並調用該對象的play()
功能?
這基本是'this'參考.... https://developer.mozilla.org/en-US/docs /網絡/的JavaScript /參考/運營/本 –