2016-11-27 29 views
0

我在手機菜單上遇到了一些麻煩。起初,我寫了這樣其上傳,並通過Android的鍍鉻點擊功能不工作我的移動設備上檢查工作後,在桌面上Touchstart在手機上發射兩次

$('#nav-icon3').click(function(){ 
    $(this).toggleClass('open'); 
}); 

$('.menu-item').click(function(){ 
    $('#nav-icon3').toggleClass('open'); 
}); 

罰款我的代碼,所以我嘗試使用touchstart。

$('#nav-icon3').on('touchstart', function(){ 
    $(this).toggleClass('open'); 
}); 

$('.menu-item').on('click touchstart', function(){ 
    $('#nav-icon3').toggleClass('open'); 
}); 

當觸摸菜單項元素時,切換觸發兩次。無論如何,我可以防止這種情況發生,讓它只發射一次?

回答

1

我想根據你的問題發生的事情是你的事件正在傳播。你可以做的是通過做這樣的事情來阻止事件的傳播。

$('.menu-item').on('click touchstart', function(e) { 
    e.stopPropagation(); 
    $('#nav-icon3').toggleClass('open'); 
}); 

更多參考這裏:

https://api.jquery.com/event.stoppropagation/