Это проще сделать с помощью ненавязчивого обработчика событий (созданного с помощью функции addEventListener
- затем он может ссылаться на экземпляр calendar
, который имеет более высокую область видимости в блоке сценария:
//dummy "calendar" object for the purpose of the demo
var calendar = {
rerenderEvents: function() {
alert("X");
}
}
document.querySelector("#rerender").addEventListener("click", function() {
calendar.rerenderEvents();
});
<input type="checkbox" id="rerender" /><label for="rerender">Re-Render</label>
(я использовал готовый объект «календарь», но это не имеет значения - дело в том, что он должен иметь более высокую область видимости, чем функция обработчика событий, чтобы он был доступен при запуске обработчика.)