Как получить событие .on ('click') в классе JS - PullRequest
0 голосов
/ 06 мая 2019

Я делаю аудиоплеер HTML5, и у меня есть файл в качестве модуля, который управляет аудиоэлементом, и в основном файле JS я импортирую его для необходимых мне функций. В этом модуле я хочу иметь такие коды, как $(audio).on("playing", function(){...}).

Я сделал простой класс JS, как показано ниже

"использовать строгое"

class AudioManager{
    constructor(audio) {
        this.audio = audio;
    }

    $(audio).on("playing", function1());
    $(audio).on("pause", function2());
    $(audio).on("ended", function3());

}

export default AudioManager;

Приведенный выше код как синтаксическая ошибка. Не могли бы вы, пожалуйста, как я могу правильно это перекодировать.

В моем основном js-коде я назову этот класс и передам ему элемент audio, и позволю этому классу позаботиться о звуке и управлять им исходя из того, как я определяю его для этого класса.

как показано ниже: let myAudio = new AudioManager(audio); Таким образом, класс будет знать, что делать с этим звуком, когда он закончен или находится в режиме паузы.

Ответы [ 2 ]

1 голос
/ 06 мая 2019

Возможная причина вашей синтаксической ошибки:

$(audio).on("playing", function1()); 

должно быть

$(audio).on("playing", function1);

function function1() {
    //function code here
}

или

$(audio).on("playing", function() {
    //function code here
});
0 голосов
/ 24 мая 2019

Вам необходимо привести все коды ниже constructor:

$(audio).on("playing", function1());
$(audio).on("pause", function2());
$(audio).on("ended", function3());
...