簡體   English   中英

jQuery Click事件僅觸發一次

[英]Jquery Click Events Fires Only Once

您能否看一下這個演示 ,讓我知道為什么#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]);
});

您沒有更改n的值,所以您總是要從今天開始獲取上個月。 首先在您的onclick方法中獲取#month的當前值。

您的事件正在觸發-您每次觸發時都設置相同的值。 嘗試在事件中添加n + = 1和n- = 1來更改值。

我正在編輯您的代碼,現在可以更改計數器的值了,每次點擊..

var months = [“一月”,“二月”,“三月”,“四月”,“五月”,“六月”,“七月”,“八月”,“九月”,“十月”,“十一月”,“十二月“]; var days = [“星期一”,“星期二”,“星期三”,“星期四”,“星期五”,“星期六”,“星期日”]; var d = new Date(); var n = d.getMonth();

$("#month").html(months[n]);

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM