亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

替代支持eventData的jQuery .toggle()方法?

替代支持eventData的jQuery .toggle()方法?

慕運維8079593 2019-10-11 10:36:30
在jQuery文檔的.toggle()方法規定:為方便起見,提供了.toggle()方法。手動實現相同的行為是相對直接的,如果內置于.toggle()的假設證明是限制性的,則可能有必要。.toggle事實證明,內置的假設限制了我當前的工作,但是文檔并未詳細說明如何實現相同的行為。我需要將eventData傳遞給提供給的處理函數toggle(),但似乎僅.bind()支持此功能,而不支持.toggle()。我的第一個傾向是使用單個處理程序函數全局的標記來存儲單擊狀態。換句話說,而不是:$('a').toggle(function() {  alert('odd number of clicks');}, function() {  alert('even number of clicks');});做這個:var clicks = true;$('a').click(function() {  if (clicks) {    alert('odd number of clicks');    clicks = false;  } else {    alert('even number of clicks');    clicks = true;  }});我尚未測試后者,但我懷疑它會起作用。這是做這樣的事情的最好方法,還是我想念的更好的方法?謝謝!
查看完整描述

2 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

似乎是一種合理的方式...我只是建議您使用jQuery的數據存儲實用程序,而不要引入額外的變量(如果您想跟蹤一大堆鏈接,這可能會讓人頭疼) 。因此,根據您的示例:


$('a').click(function() {

  var clicks = $(this).data('clicks');

  if (clicks) {

    alert('odd number of clicks');

  } else {

    alert('even number of clicks');

  }

  $(this).data("clicks", !clicks);

});


查看完整回答
反對 回復 2019-10-11
  • 2 回答
  • 0 關注
  • 414 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號