var audio = new Audio();
audio.onended = function(e){ console.log('end 1');
}
audio.onended = function(e){ console.log('end 2');
}上面代碼很只會輸出end 2,要怎么才能做到能輸出end 1 和 end 2?我自己想了一種方法bind(handler, cb){
!m && (m = []);
!m[handler] && (m[handler] = []);
m[handler].push(cb);
}
bind('ended', function(e){ console.log('1');
});
bind('ended', function(e){ console.log('2');
});var audio = new Audio();
audio.onended = (e) => { for (var k in m['ended']){
m['ended'][k](e);
}
}大概就是這樣,用數組保存,然后audio方法循環調用但是我就感覺實現的方式不夠優希望各位不吝賜教
JavaScript 如何重復綁定問題?
藍山帝景
2018-09-08 14:13:22