javascript,防止单击在mobile上单击的元素下面的元素
我正在创建一个网站,有一个可扩展的侧导航栏。当用户在移动设备上扩展侧边栏时,会扩展页面的宽度。因此,此侧栏在右上角有一个关闭按钮 但是,在顶部导航栏上,注销按钮位于右上角。因此,如果用户长时间触摸手机上的侧边栏,也会触发其下方的注销按钮 顶栏: 扩展侧栏: javascript:javascript,防止单击在mobile上单击的元素下面的元素,javascript,jquery,Javascript,Jquery,我正在创建一个网站,有一个可扩展的侧导航栏。当用户在移动设备上扩展侧边栏时,会扩展页面的宽度。因此,此侧栏在右上角有一个关闭按钮 但是,在顶部导航栏上,注销按钮位于右上角。因此,如果用户长时间触摸手机上的侧边栏,也会触发其下方的注销按钮 顶栏: 扩展侧栏: javascript: $(文档).ready(函数(){ $(文档)。在('单击touchstart','菜单切换',函数()上{ $('.main menu').toggleClass('toggled')) }); }); 一旦用户
$(文档).ready(函数(){
$(文档)。在('单击touchstart','菜单切换',函数()上{
$('.main menu').toggleClass('toggled'))
});
});
一旦用户单击“关闭”按钮,您可以在短时间内暂时禁用注销按钮
大概是这样的:
$(document).ready(function () {
$(document).on('click touchstart','.menu-toggle',function(event){
//Instead of disabling by css, you could also use jquery method .prop('disabled',true)
$('#logout-btn').css({
"pointer-events": "none",
"touch-action":"none"
})
$('.main-menu').toggleClass('toggled')
event.stopPropagation();
//I used delay, you could use setTimeout also.
$('#logout-btn').delay(200).queue(function (next) {
$(this).css({
"pointer-events": "auto",
"touch-action":"auto"
})
next();
});
});
});
这将抛出
意外标记“;”对于“指针事件”:“无”代码>错误地应为逗号。我非常感谢你,这很有效。