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

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

在函數JQUERY click removeAttr怎么讓命令失效?該如何操作?

在函數JQUERY click removeAttr怎么讓命令失效?該如何操作?

繁花不似錦 2022-02-24 10:06:25
<a href="javascript:;" class="btn_1">按鈕1</a><a href="javascript:;" class="btn_2">按鈕2</a>$(function() {function foo(){$(".btn_2").removeAttr("class");alert('aa');}$(".btn_1").bind("click",foo);$(".btn_2").bind("click",foo);});我點擊按鈕1的時候,按鈕2的class移除,彈出"aa",為什么我再點擊按鈕2的時候還能彈出"aa",class="btn_2"都沒有了,為什么點擊按鈕2還能執行,當我點擊按鈕1以后怎樣讓按鈕2無效??
查看完整描述

2 回答

?
守候你守候我

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

js:


$(function() {    function foo(){        //var elm = $(event.target);         $(this).attr('class','dada').siblings().removeAttr('class');        //$(this).addClass('class').siblings().removeClass('class');     }    $("a").bind("click",foo);    })


查看完整回答
反對 回復 2022-02-27
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

你btn_1和btn_2都綁定了click事件,執行相同的函數操作foo(),此時不管你在何時點擊這兩個按鈕都會觸發click事件而去執行foo函數。

    $(".btn_2").bind("click",foo);方式綁定事件,是先通過CSS樣式找到對應的元素對象,然后為這個元素的對象綁定,此后,并不會因為你將其中的一個樣式或屬性移除后,對應的綁定事件不生效,因為事件是綁定到元素對象上,而不是你這個屬性。你這個屬性只是jQuery的一個選擇器,表示通過這個屬性來找到對應 的元素。

    如果要取消綁定事件,就必須再找到這個元素,然后將對應的事件解綁unbid

    根據你問題的意思是,在你成功移除了按鈕2的class樣式后,這個按鈕應該失效,那么,你應該在執行完點擊事件后,將btn_2綁定的click事件解除:


$(".btn_2").unbind("click");

,那么你上面的函數應該修改成:


function foo(){    $(".btn_2").removeAttr("class").unbind("click");    alert('aa'); }



查看完整回答
反對 回復 2022-02-27
  • 2 回答
  • 0 關注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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