久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - Jquery click()事件的禁用

瀏覽:148日期:2023-03-08 14:43:12

問題描述

$(document).ready(function(){ $('.menua1').click(function(){ //執(zhí)行了點(diǎn)擊事件的內(nèi)容 });});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>

當(dāng)我點(diǎn)擊B按鈕調(diào)用了toggleMenu(),將該元素的class值改變,我覺得以前ready()里面的click事件應(yīng)該失效,當(dāng)我在調(diào)用toggleMenu()時(shí)把class的值換成初始值,click()應(yīng)該正常能夠運(yùn)行;但是不管這個(gè)a標(biāo)簽的class值怎么改變都不會(huì)影響到我原來的click,改變了class的值也依然能夠點(diǎn)擊進(jìn)入執(zhí)行jqeury代碼,求解。

我的目的是:需要在點(diǎn)擊B按鈕后,將A按鈕原有的點(diǎn)擊事件禁用,當(dāng)再次點(diǎn)擊B按鈕在開啟A按鈕原有的點(diǎn)擊事件。

在線等待,請(qǐng)高手指教。

問題解答

回答1:

當(dāng)我點(diǎn)擊B按鈕調(diào)用了toggleMenu(),將該元素的class值改變,我覺得以前ready()里面的click事件應(yīng)該失效

首先這句話, 這個(gè)理解就是錯(cuò)誤的.

舉個(gè)栗子:

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

Question: 小明的手壞了沒有?

jQuery的選擇器, 是為了通過不同的手段選擇到元素, 但是你對(duì)它造成的shanghai, 不會(huì)因?yàn)槟愀淖兞怂哪硞€(gè)屬性而消除.

所以回歸正題, 給元素綁定了點(diǎn)擊事件, 需要清除

1. 如果是js綁定:ele.onclick = function(){...}//要清除的話 , 用空方法覆蓋ele.onclick = function(){}2. jQuery on方法綁定的點(diǎn)擊事件//用off解除綁定$ele.on('click', function(){})$ele.off('click', function(){})3.或者在點(diǎn)擊事件的回調(diào)中判斷狀態(tài)(全局變量/flag)var flag = true;$ele.on('click', function(){ if(flag){ ... }});function toggle(){ flag = !flag;}回答2:

樓上舉得列子也是有點(diǎn)意思,簡(jiǎn)單來講,事件的綁定僅僅和元素的本身有關(guān),跟他以后叫什么名字沒太大關(guān)系。就好像說你的身份證代表了你這個(gè)人,然后有一天你換了名字,身份證是否就變成了代表別人?就是這個(gè)道理

回答3:

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 阿克陶县| 临武县| 鹤庆县| 河源市| 顺义区| 陈巴尔虎旗| 禹城市| 阿拉善右旗| 灌南县| 天水市| 山丹县| 金坛市| 若羌县| 宁德市| 湟源县| 安达市| 格尔木市| 盱眙县| 岳阳县| 泾阳县| 天台县| 贡嘎县| 北票市| 新安县| 镇安县| 图木舒克市| 怀宁县| 罗源县| 无锡市| 辉南县| 抚顺市| 临汾市| 清河县| 教育| 盐山县| 大渡口区| 简阳市| 新建县| 积石山| 万山特区| 宁化县|