2016-09-24 82 views
1

有沒有辦法將兩者合併?合併點擊功能

$('.menu').click(function() { 
    $('#css-menu').toggleClass('shown hidden'); 
}); 

$(function() { 
    $('.menu').click(function() { 
    $(this).toggleClass('active'); 
    }); 
}); 

在這樣一個可行的遠,當 '#CSS-菜單'=所示, '菜單' 將是=活性否則當#CSS-菜單被隱藏

回答

2

很難說沒有看到你在哪裏註冊第一個點擊處理程序。但是,如果你想監聽從同一時間開始(頁面加載)都單擊處理一個點擊,你可以很可能只是合併第一到第二,如:

$(function() { 
    $('.menu').click(function() { 
    $('#css-menu').toggleClass('shown hidden'); 
    $(this).toggleClass('active'); 
    }); 
}); 

$(function()只是確保代碼只要DOM沒有完全加載,線路$('.menu').click(function()就不會被執行。否則,它將無法找到.menu元素,具體取決於您包含腳本的位置。

只要您不點擊元素,點擊處理程序中的代碼無法啓動。因此,如果您註冊了兩個點擊處理程序或者只是將它們放入其中,那麼它沒有什麼區別。當然,因爲性能原因,一個更好。

1

如果你想在點擊觸發兩個任務,然後寫點擊功能和總一個內的兩個條件在函數內部

這樣的事情。

$(function() { /* main function */ 

$('.menu').click(function(e) { /* click event */ 
e.preventDefault();  
$('#css-menu').toggleClass('shown hidden'); 
$(this).toggleClass('active'); 
}); 
}); 

希望它能工作。