$(document).ready(function(){
$(".menua1").click(function(){
//執(zhí)行了點擊事件的內(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>
當我點擊B按鈕調(diào)用了toggleMenu(),將該元素的class值改變,我覺得以前ready()里面的click事件應該失效,當我在調(diào)用toggleMenu()時把class的值換成初始值,click()應該正常能夠運行;
但是不管這個a標簽的class值怎么改變都不會影響到我原來的click,改變了class的值也依然能夠點擊進入執(zhí)行jqeury代碼,求解。
我的目的是:需要在點擊B按鈕后,將A按鈕原有的點擊事件禁用,當再次點擊B按鈕在開啟A按鈕原有的點擊事件。
在線等待,請高手指教。
小伙看你根骨奇佳,潛力無限,來學PHP伐。
當我點擊B按鈕調(diào)用了toggleMenu(),將該元素的class值改變,我覺得以前ready()里面的click事件應該失效
首先這句話, 這個理解就是錯誤的.
舉個栗子:
有一個人叫小明, 他爸媽管他叫小明明, 他老婆管他叫大明明, 有一天小明的手破了一個口,
他爸/媽看到了問: 小明明你手怎么弄破了?
小明明你手怎么弄破了?
他老婆說: 大明明做菜的時候不小心切到了
又回頭問小明: 老公, 你的手還痛嗎?
爸/媽說: 哎, 都這么大的人了 還叫大明明干嘛? 多不好聽
老婆說: 好, 以后不叫了
他老婆說: 大明明做菜的時候不小心切到了
老公, 你的手還痛嗎?
爸/媽說: 哎, 都這么大的人了 還叫大明明干嘛? 多不好聽
好, 以后不叫了
Question: 小明的手壞了沒有?shanghai
但是你對它造成的
, 不會因為你改變了它的某個屬性而消除.?? ??所以回歸正題, 給元素綁定了點擊事件, 需要清除??1. 如果是js綁定:
ele.onclick = function(){...}
//要清除的話 , 用空方法覆蓋
ele.onclick = function(){}
2. jQuery on方法綁定的點擊事件
//用off解除綁定
$ele.on("click", function(){})
$ele.off("click", function(){})
3.或者在點擊事件的回調(diào)中判斷狀態(tài)(全局變量/flag)
var flag = true;
$ele.on("click", function(){
if(flag){
...
}
});
function toggle(){
flag = !flag;
}
樓上舉得列子也是有點意思,簡單來講,事件的綁定僅僅和元素的本身有關,跟他以后叫什么名字沒太大關系。就好像說你的身份證代表了你這個人,然后有一天你換了名字,身份證是否就變成了代表別人?就是這個道理