【发布时间】:2016-07-14 15:38:10
【问题描述】:
我有一个显示当前月份的 chrome 日历应用程序。我也有下个月和上个月的按钮,可以根据显示的月份进入下个月和上个月。但是,我只希望日历到当年的 12 月和当年的 1 月,所以在用户点击 12 月/1 月后,我删除了事件处理程序。但是,当不是 12 月或 1 月时,我需要再次添加事件处理程序。我该怎么做?
var count = 0;
var updated = setInterval(function() {
var v = document.getElementById("CalendarMonth").innerHTML;
updatedMonth = months.indexOf(v);
}, 1000);
document.getElementById("nextMonth").addEventListener("click", nxtMonth);
function nxtMonth()
{
count = count +1;
if(nextMonth == 11)
{
console.log("the year has ended!");
document.getElementById("nextMonth").removeEventListener("click", nxtMonth);
}
else
{
nextMonth = updated + count;
//ideally, this would work. But for some reason it does not
document.getElementById("nextMonth").addEventListener("click", nxtMonth);
}
document.getElementById("previousMonth").addEventListener("click", prevMonth);
function prevMonth()
{
count = count -1;
if(previousMonth == -1)
{
console.log("the year has just started!");
document.getElementById("previousMonth").removeEventListener("click", prevMonth);
}
else if(count==-1)
{
previousMonth =1;
}
else
{
previousMonth = updated + count;
document.getElementById("previousMonth").addEventListener("click", prevMonth);
}
【问题讨论】:
标签: javascript google-chrome javascript-events event-handling