我在链接到项目页面的标签内有一个图像列表。在移动设备上,它们占据了大部分屏幕,如果您尝试滚动可点击区域,则不会发生任何事情。
尝试过这个:
var disable_click_flag = false;
$(window).scroll(function() {
disable_click_flag = true;
clearTimeout($.data(this, 'scrollTimer'));
$.data(this, 'scrollTimer', setTimeout(function() {
disable_click_flag = false;
}, 250));
});
$("body").on("click", "a", function(e) {
if( disable_click_flag ){
e.preventDefault();
}
});
来自这里的另一个线程,不起作用。
谢谢!
我会尝试确保滚动时完全禁用click事件。您可以修改超时(250)
var disableClickFlag = false; $(window).on('scroll', function() { disableClickFlag = true; clearTimeout($.data(this, 'scrollTimer')); $.data(this, 'scrollTimer', setTimeout(function() { disableClickFlag = false; }, 250)); }); $("body").on("click", "a", function(e) { if (disableClickFlag) { e.preventDefault(); return false; } });