我有一个功能,我禁用了所有链接:
$("a").click(function() {
return false;
});
但是我只想禁用它们一秒钟,然后再次启用它们。这可能吗?
答案 0 :(得分:1)
是的,这可以通过使用jQuery和setTimeout
来实现。有很多方法可以实现类似的结果,但我制作了一个示例,它添加了类,以便在您希望的情况下对元素进行细粒度定位。您还可以获得免费路由的额外好处,例如,如果您愿意,可以为您的已禁用链接设置样式(我在示例中这样做了)。请注意以下内容......
<a href="#">link</a>
<a href="#">link</a>
<button>disable</button>
$(function() {
$('button').click(function() {
$('a').addClass('disabled')
setTimeout(function() {
$('.disabled').removeClass('disabled')
}, 1000);
})
$('body').delegate('.disabled', 'click', function() {
console.log('disabled')
return false;
});
});
JSFiddle Link - 演示
答案 1 :(得分:0)
假设您希望在点击事件发生后一秒钟进行重定向,您可以阻止Click事件导致的默认重定向,然后使用window.location
$("a").click(function () {
var url = this.href;
setTimeout(function () {
window.location = url;
}, 1000)
return false;
});
请注意,预期的行为不是很清楚