Jquery click()事件的禁用

$(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按钮原有的点击事件。

在线等待,请高手指教。


莫回无
浏览 2912回答 1
1回答

叮当猫咪

当我点击B按钮调用了toggleMenu(),将该元素的class值改变,我觉得以前ready()里面的click事件应该失效首先这句话, 这个理解就是错误的.举个栗子:有一个人叫小明, 他爸妈管他叫小明明, 他老婆管他叫大明明, 有一天小明的手破了一个口,&nbsp;他爸/妈看到了问:&nbsp;小明明你手怎么弄破了?他老婆说:&nbsp;大明明做菜的时候不小心切到了又回头问小明:&nbsp;老公, 你的手还痛吗?爸/妈说:&nbsp;哎, 都这么大的人了 还叫大明明干嘛? 多不好听老婆说:&nbsp;好, 以后不叫了Question: 小明的手坏了没有?jQuery的选择器, 是为了通过不同的手段选择到元素,&nbsp;但是你对它造成的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(){&nbsp; if(flag){&nbsp; ...&nbsp;&nbsp; }});function toggle(){&nbsp; flag = !flag;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript