javascript - Jquery click()事件的停用
伊谢尔伦
伊谢尔伦 2017-07-05 10:54:50
0
3
1098
$(document).ready(function(){
    $(".menua1").click(function(){
    //执行了点击事件的内容                    
            
    });
});
function toggleMenu(){
    var fs = window.top.document.getElementById("bframeset");
    if(条件true){
        $(".menua1_noclick").attr("class","menua1");
    }else{
        $(".menua1").attr("class","menua1_noclick");
    }
}
//HTML
<a class="menua1">A按钮</a>

當我點擊B按鈕呼叫了toggleMenu(),將該元素的class值改變,我覺得以前ready()裡面的click事件應該會失效,當我在呼叫toggleMenu()時把class的值換成初始值,click()應該可以正常運作;
但是不管這個a標籤的class值怎麼改變都不會影響到我原來的click,改變了class的值也依然能夠點擊進入執行jqeury程式碼,求解。

我的目的是:需要在點擊B按鈕後,將A按鈕原有的點擊事件停用,當再次點擊B按鈕在開啟A按鈕原有的點擊事件。

在線等待,請高手指教。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(3)
我想大声告诉你

當我點擊B按鈕調用了toggleMenu(),將該元素的class值改變,我覺得以前ready()裡面的click事件應該失效

首先這句話, 這個理解就是錯的.

舉個栗子:

有一個人叫小明, 他爸媽管他叫小明明, 他老婆管他叫大明明, 有一天小明的手破了一個口,
他爸/媽看到了問: 小明明你手怎麼弄破了?
他老婆說: 大明明做飯的時候不小心切到了
又回頭問小明: 大明明做菜的時候不小心切到了
又爸問小明: 大明, 你的手還痛嗎?
爸/媽說: 老公, 都這麼大的哎人了還叫大明明幹嘛? 多不好聽

老婆說:

好, 以後不叫了


Question: 小明的手壞了沒有? jQuery的選擇器, 是為了透過不同的手段選擇到元素,

但是你對它造成的

shanghai

, 不會因為你改變了它的某個屬性而消除.🎜 🎜所以回歸正題, 給元素綁定了點擊事件, 需要清除🎜
1. 如果是js绑定:
ele.onclick = function(){...}
//要清除的话 , 用空方法覆盖
ele.onclick = function(){}

2. jQuery on方法绑定的点击事件
//用off解除绑定
$ele.on("click", function(){})
$ele.off("click", function(){})

3.或者在点击事件的回调中判断状态(全局变量/flag)
var flag = true;
$ele.on("click", function(){
  if(flag){
  ... 
  }
});
function toggle(){
  flag = !flag;
}
洪涛

樓上舉得列子也是有點意思,簡單來講,事件的綁定僅僅和元素的本身有關,跟他以後叫什麼名字沒太大關係。就好像說你的身分證代表了你這個人,然後有一天你換了名字,身分證是否就變成了代表別人?就是這個道理

女神的闺蜜爱上我

$(".menua1").off('click'),把按鈕取消綁定click事件不就行了麼

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板