Как привязать события к представлению в epub.js - PullRequest
0 голосов
/ 18 ноября 2018

Я хочу зарегистрировать прослушиватель правой кнопкой мыши на странице в epub.js, но не знаю, как это сделать. Существует также passEvents метод представления объекта, но он также не может найти никакой помощи по этому вопросу. Это моя последняя попытка:

rendition.on("rendered", () => {
    const contents = rendition.getContents()
    contents.document.addEventListener('contextmenu', showContextMenu, false);
});

1 Ответ

0 голосов
/ 18 ноября 2018

Исходя из того, что вы спросили, и я надеюсь, что я правильно понял, вы хотите событие contextmenu в самой книге, верно?

Если это так, я использовал следующий JS:

rendition.on("rendered", (e,i) => {;
  i.document.documentElement.addEventListener('contextmenu', (cfiRange, contents) => {
      console.log('hey');
  })
});

Этот код просто возвращает hey, когда я щелкаю правой кнопкой мыши в книге.Но, как вы можете видеть, есть два параметра (cfiRange, contents), которые содержат то, что вам нужно.

В любом случае я создал скрипку .

Другое решение будет использоватьdocument как элемент, принимающий событие, но в моих тестах он получает все , но книгу.

...