我正在嘗試做什麼 我有下拉菜單打開懸停和父菜單有自己的着陸頁鏈接。我們不願意犧牲這種行爲,但是如果明顯爲大型觸控設備帶來問題。所以,我用jQuery檢測觸摸設備,並禁用父菜單點擊大於990px寬的設備。低於990像素的設備被視爲移動視圖,並切換到切換。預計切換和桌面視圖之間的切換也會在屏幕旋轉中繼續。禁用單擊鏈接上的觸摸設備不按預期方式工作
發生了什麼 菜單鏈接在第一次加載時被禁用並按預期工作。然後,我旋轉屏幕(從橫向到縱向),並按預期查看移動菜單,然後導航到另一個頁面。一旦頁面加載,我再次旋轉它(從肖像到風景),桌面視圖可見,但父鏈接現在是可點擊的!
我想在第二次輪換時也阻止這個點擊事件。 HTML是標準的引導3導航代碼和我的JS是這樣的:
function isTouchDevice() {
return true == ("ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch);
}
$(document).ready(function() {
$(window).resize(function() {
var o = $(window).innerWidth();
function isTouchDevice() {
return true == ("ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch);
}
if ((isTouchDevice() === true) && (o >= 990)) {
$('.navbar .dropdown > a ').each(function() {
$(this).on("click", function(){
return false
})
})
alert('oi!!')
}
else {
$('.navbar .dropdown > a ').each(function() {
$(this).on("click", function(){
location.href = this.href;
})
});
alert ("bad!") //for debugging purpose, not really needed
}
}).resize();
//the mobile menu clicks events
$('#menu .dropdown > a ').click(function() {
location.href = this.href;
});
});
PS這是一個網站,而不是一個Android應用程序。我找到了解答這類問題的答案。
更新的jsfiddle我的代碼
您可以複製** Snippet **或[JSFiddle](http://www.jsfiddle.net)中的類似演示嗎? – divy3993
不確定您是否可以模擬jsfiddle上的觸摸,但是鏈接會彈出一點。 –
在帖子中添加了jsfiddle鏈接。 –