【发布时间】:2016-02-28 14:58:09
【问题描述】:
所以,最近我一直在开发一个网站,该网站让我改进并做出响应,我遇到的一个问题是有许多可点击的元素,混合悬停状态的 CSS 和 jQuery 效果。
现在,首先我希望所有这些悬停状态都是 CSS,但我遇到的主要问题是,在这些悬停状态上,某些元素正在更改 display 和 visibility css 属性。我做了一些阅读,显然如果是这种情况,在触摸屏 iOS 设备上,这会导致第一次“触摸”强制悬停状态,然后需要第二次单击才能实际单击元素。
我正在尝试找到一种不需要大量标记和样式更改的解决方案。最好利用 jQuery/JavaScript 进行修复。
我尝试了以下方法:
$(document).ready(function() {
$('a').on('click touchend', function(e) {
var el = $(this);
var link = el.attr('href');
window.location = link;
});
});
但是,当用户将手指放在可点击元素上并拖动页面进行滚动时,就会出现问题。当他们在拖动后松开手指时,window.location 仍然改变。
如果有需要,我稍后会添加一个 jsFiddle。
提前致谢。
编辑:
这是一个显示问题的 jsFiddle。 http://jsfiddle.net/0bj3uxap/4/ 如果您点击其中一个块,您会看到它显示悬停状态,然后您需要再次点击才能真正触发点击事件。
似乎发生在一个元素被隐藏,然后悬停状态显示该元素的时候。
【问题讨论】:
标签: javascript jquery ios touchscreen