0
$('.main').on('mouseleave', '.left_inner_element', function(event){
$('.left_inner_element').removeClass('inner_hover');
});
$('.main').on('mouseover', '.right_element', function(event){
$('.right_element').addClass('outer_hover');
});
$('.main').on('mouseleave', '.right_element', function(event){
$('.right_element').removeClass('outer_hover');
});
$('.main').on('mouseover', '.right_inner_element', function(event){
$('.right_inner_element').addClass('inner_hover');
});
$('.main').on('mouseleave', '.right_inner_element', function(event){
$('.right_inner_element').removeClass('inner_hover');
});
$('.main').on('mouseover', '.bottom_element', function(event){
$('.bottom_element').addClass('outer_hover');
});
$('.main').on('mouseleave', '.bottom_element', function(event){
$('.bottom_element').removeClass('outer_hover');
});
正如你可以看到他們都是一樣的,然後其他類的事件處理程序上和內部或outer_hover ...有沒有辦法來重構這段JavaScript到兩個事件處理
爲什麼不只是將來自「mouseleave」處理程序的所有代碼行合併爲一個代碼行,並且「mouseover」代碼行也一樣? – Pointy
每個類都有一個mouseleave和一個mouseover事件,它設置了一個導致在多個元素上懸停的類.... @ Pointy - 我該怎麼做 – Trace
爲什麼會有'outer_hover'和'inner_hover'類?你可以改變爲單個類'懸停'並應用不同的樣式,如'.bottom_element.hover {} .right_inner_element.hover {}',等等? – Andre