我的页面上有一个元素,我用jQuery定位了它,以便在click()
上运行一个小函数。
此元素使用 CSS 设置样式,opacity
设置为 0.5
,然后在悬停时,更改为 1.0
。
过去,在悬停时更改元素的opacity
或display
属性以使需要在触摸屏设备上"点击"两次时,我遇到了一些问题。
例如,如果我有一个围绕div
的锚点选项卡,在悬停时,它正在更改div
内元素的opacity
或display
属性,以重定向到锚点href
我必须点击该元素两次。
我认为这可能是同一类问题。我想我可以通过监听click()
和tap()
事件来解决这个问题,但是我需要加载jQuery Mobile,这是我真的不想这样做。
简而言之:在某些移动设备上,我必须单击该元素一次,这会将元素置于悬停状态,然后再次单击该元素才能触发 jQuery click()
事件。
这是我正在使用的jQuery,包装在DOM中:
$('#scroll-down').click(function(e) {
e.preventDefault();
page.on("scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove", function() {
page.stop();
});
page.animate({
scrollTop: viewportHeight + 2
}, 1000, function() {
page.off("scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove");
});
return false;
});
它会向下滚动视口的高度,加上 2 个像素。
有什么想法吗?
正如 Aaron 所建议的那样,使用 .on('click')
似乎已经解决了这个问题。