Ок. Код. =о)
calendar.html
...
<div id="myCalendar_div"></div>
...
<script>
function onLoad(){
myCalendar=new myCalendar();
myCalendar.renderCalendar('myCcalendar_div');
}
</script>
myCalendar.js
class MyCalendar{
outputDiv=null;
constructor(){
// вычисляем текущую дату, необходимые параметры
}
renderCalendar(oDiv){
this.outputDiv=document.querySelector("#"+oDiv);
// вывод сетки календаря
...
// вывод двух ссылок, на следующий месяц и предыдущий
this.outputDiv.innerHTML=this.outputDiv.innerHTML+ '<span id="prevMonth">пред</span><span id="nextMonth">след</span>';
}
nextMonth(){
// вычисляем необходимые параметры
this.renderCalendar();
}
prevMonth(){
// вычисляем необходимые параметры
this.renderCalendar();
}
}
Вопрос: можно ли внутри функции renderCalendar повесить на span обработчики с вызовом nextMonth() и prevMonth()?
Если ставить this.nextMonth(), то ошибка, естественно. А название переменной myCalendar, определяемой в onLoad() недоступно внутри класса.
Или я что-то не так делаю в принципе?
|