javascript - Jquery click()事件的禁用
伊谢尔伦
伊谢尔伦 2017-07-05 10:54:50
0
3
1096
$(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: 小明的手坏了没有?shanghai

jQuery的选择器, 是为了通过不同的手段选择到元素,

但是你对它造成的

, 不会因为你改变了它的某个属性而消除.🎜 🎜所以回归正题, 给元素绑定了点击事件, 需要清除🎜
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事件不就行了么

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板