gpt4 book ai didi

javascript - 计时器上的 PreventDefault()

转载 作者:行者123 更新时间:2023-12-03 12:03:14 29 4
gpt4 key购买 nike

有谁知道是否有办法阻止Default(),但是在计时器上,以便在一定时间后恢复默认操作?

这是我到目前为止所拥有的:

function setResetInterval(bool){
var el = $('article');
if(bool){
timer = setInterval(function(){
setTimeout(function(){
console.log('default prevented');
e.preventDefault();
}, 500);
},1000);
}else{
clearInterval(timer);
}
}

if(object.touch.touch){
object.header.menu_button.attr('href',null);
object.touch.articles = $('article');
object.content_blocks.on('click','article',{},function(e){
object.touch.articles.removeClass('on');
$(this).addClass('on');
e.stopPropagation();
setResetInterval(true);
setTimeout(
function() { setResetInterval(false); }, 500);
});
}

问题是,该函数在点击后被调用,并且该操作未被阻止。另一种方法是阻止点击时的默认操作,该操作会停止在移动设备上滚动。

更清楚地考虑一下,真正的问题是有问题的点击标签基本上是移动设备上的整个屏幕宽度。

最佳答案

根据凯西所说,解决此问题的一种方法是将功能与稍后删除的类联系起来。

<强> Demo Fiddle:

在示例中,只要 div 具有 .red 类,默认就会阻止,setTimeout 将在 3 秒后删除该类。

JS:

$('body').on('click', '.red', function (e) {
e.preventDefault();
console.log('I only show up while default is prevented');
});

$('body').on('click', 'div', function () {
console.log('I will always show up');
});

setTimeout(function () {
$('div').removeClass('red');
},3000);

关于javascript - 计时器上的 PreventDefault(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25298832/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com