第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在選中/取消選中復(fù)選框時(shí)切換(打開/關(guān)閉)行為?

如何在選中/取消選中復(fù)選框時(shí)切換(打開/關(guān)閉)行為?

繁華開滿天機(jī) 2021-09-17 12:38:54
伙計(jì)們。我有一個(gè)無法解決的問題。我需要使用“.on/.off”方法切換行為,當(dāng)我從復(fù)選框中設(shè)置或刪除勾選時(shí),這些方法將起作用。我怎樣才能做到這一點(diǎn)?例如:我有一個(gè)按鈕,可以通過按下它來放大/改變顏色/移動(dòng)。但是,當(dāng)我在復(fù)選框之一上設(shè)置勾號(hào)時(shí),我需要使用“.off”方法從按鈕禁用此事件。我試過$(".button").on('click', function(){             $(this).toggleClass('active');});$(".button2").on('click', function(){  $(this).toggleClass('active2');});$(".button3").on('click', function(){  $(this).toggleClass('active3');});$(".button4").on('click', function(){  $(this).toggleClass('active4');});var check = $("#check");check.change(function(){  if ($(this).is(':checked'))  {      $('.button').off('click');  }});但由于某種原因,它會(huì)禁用我的事件,直到我刷新頁面,即使我從我的復(fù)選框之一中刪除了勾號(hào)提前致謝。
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊

發(fā)生這種情況是因?yàn)楫?dāng)您勾選復(fù)選框時(shí),您的代碼將從.button元素中刪除點(diǎn)擊偵聽器,并且在未選中復(fù)選框時(shí)您不會(huì)將其設(shè)置回原處。


因此,如果您希望在.button取消選中復(fù)選框時(shí)再次觸發(fā)元素上的點(diǎn)擊偵聽器,您可以執(zhí)行下面提到的兩件事中的任何一件。


首先,您可以在復(fù)選框的偵聽器中的else塊之后添加一個(gè)塊。以下代碼適用于這種方法:ifchange


var check = $("#check");

check.change(function(){

    if ($(this).is(':checked')) { 

        // This will remove the click listener from the button if checkbox is checked

        $('.button').off('click');

    } 

    else {

         // This will again add the click listener to the button if checkbox is not checked

         $(".button").on('click', function(){ 

             $(this).toggleClass('active'); 

         });

    }

});

但我不會(huì)推薦上述方法,因?yàn)樗鼤?huì)不必要地增加代碼的大小。


這是第二種和更好的方法。在點(diǎn)擊事件處理函數(shù)中,您可以添加一個(gè)if語句來檢查復(fù)選框是否被勾選。下面是相同的代碼:


$(".button").on('click', function(){ 

    if (! $("#check").is(':checked')) { 

        // This will only be fired if checkbox is not checked

        $(this).toggleClass('active')

    }

});

您可以根據(jù)需要將此 if 添加到任何其他塊。


使用上述代碼的主要優(yōu)點(diǎn)是:


與第一種方法相比,代碼不會(huì)增加

您不需要change復(fù)選框的偵聽器(是的!只需將其刪除即可!)


查看完整回答
反對(duì) 回復(fù) 2021-09-17
  • 1 回答
  • 0 關(guān)注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)