我正试图让ontouchstart为Windows平板电脑工作。如果检测到它会禁用我的链接的顶层,以便点击事件允许菜单保持打开(而不是悬停效果)。
以下代码正在使用其他触摸设备,因此我不确定是否还有其他需要做的事情?
$topLink.on('click', function (e) {
$dropDown.removeClass('child');
$dropDown.not($(this).next('.dropdown')).removeClass('open');
$topLink.not($(this)).removeClass('active-link');
$(this).next('.dropdown').toggleClass('open');
$(this).toggleClass('active-link');
if (("ontouchstart" in document.documentElement) || ($window.width() < 1120)) {
// disable top level links for touch
e.preventDefault();
e.stopPropagation();
}
});
IE / Edge没有TouchEvents
(默认情况下至少没有启用),它有PointerEvents
。
看看caniuse.com:PointerEvents TouchEvents