我正在使用jQuery在支持它的设备上将我的css下拉菜单转换为启用触摸的菜单。我遇到的问题是我的父李的行为已停止使用e.preventDefault(),我似乎无法弄清楚如何让孩子们正常运作。这是我正在使用的代码:
if ("ontouchstart" in window || navigator.msMaxTouchPoints) {
$('#menu > li:has(ul.sub-menu)').click(function (e) {
e.preventDefault();
$('#menu > li > a.sub-menu').toggle(300);
$('#menu > li > ul > li > a').trigger('click');
})
}
保持主要li不通过和切换子菜单的功能完美无缺。我现在只需要点击子菜单a即可完成。
答案 0 :(得分:1)
停止那些锚元素的传播
if ("ontouchstart" in window || navigator.msMaxTouchPoints) {
$('#menu > li:has(ul.sub-menu)').click(function (e) {
e.preventDefault();
$('#menu > li > a.sub-menu').toggle(300);
$('#menu > li > ul > li > a').trigger('click');
})
$('#menu ul.sub-menu a').click(function (e) {
e.stopPropagation();
})
}