Мне нужно прикрепить событие, называемое render
, к элементу panel
, который ничего не делает, кроме отправки для предупреждения всех слушателей при рендеринге panel
.
После старомодногов разделе этой ссылки , я придумал этот код:
/**
* **Static** Re-draw the layer panel to represent the current state of the layers.
* @param {Element} panel The DOM Element into which the layer tree will be rendered
*/
static renderPanel(panel) {
// Create the event.
var render_event = document.createEvent('Event');
// Define that the event name is 'render'.
render_event.initEvent('render', true, true);
// Listen for the event.
panel.addEventListener('render', function (e) {
// e.target matches panel
}, false);
panel.dispatchEvent(render_event);
Кажется, это сработало, но так как я делаю это впервые, я не совсем уверен, какпроверьте правильность этого метода.
Заглядывая в консоль, я вижу, как мой panel
элемент отправляет событие render
, но я хотел бы спросить, есть ли что-то, чего я пропускаю или о чем беспокоитьсяпрежде чем двигаться дальше.
Чтобы отладить результат, я попытался добавить прослушиватель событий к элементу document
, например document.addEventListener("render",console.log("ciao"))
, который, в свою очередь, печатал ciao
один раз в консоли, но только один раз.
Я думал, что смогу увидеть столько «ciao» в консоли, сколько раз было запущено событие render
, но это не так.