您能否看一下this Demo,让我知道为什么#pre#nex上的点击事件仅触发一次!

var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

var d = new Date();
var n = d.getMonth();
$("#month").html(months[n]);

$(".row").on('click' , '#pre',  function(){
    $("#month").html(months[n-1]);
});

$("#nex").on('click' , function(){
  $("#month").html(months[n+1]);
});


我也尝试在#pre上使用委托方法,但再次无法使用

最佳答案

您需要减小和增大n的值才能起作用。您还需要确保这样做时,您不在数组的范围之外,否则您将获得索引超出范围的异常。

$(".row").on('click' , '#pre',  function(){
    n = (n === 0) ? months.length - 1 : n - 1;
    $("#month").html(months[n]);
});

$("#nex").on('click' , function(){
    n = (n === months.length - 1) ? 0 : n + 1;
    $("#month").html(months[n]);
});

关于javascript - jQuery Click事件仅触发一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26371740/

10-11 23:45