Javascript jQuery:防止多次单击?
我试图防止多次点击链接,我需要等到功能完成后再允许再次点击同一链接 但是,无论我做什么,都允许多次单击 这是我的代码:Javascript jQuery:防止多次单击?,javascript,jquery,Javascript,Jquery,我试图防止多次点击链接,我需要等到功能完成后再允许再次点击同一链接 但是,无论我做什么,都允许多次单击 这是我的代码: var active = false; $('#rotRight').live('click', function(){ if (active) { return; } $(this).attr('id', 'rotRight1'); var curAngle = parseInt($(".selected").get
var active = false;
$('#rotRight').live('click', function(){
if (active) {
return;
}
$(this).attr('id', 'rotRight1');
var curAngle = parseInt($(".selected").getRotateAngle()) || 0;
if($(".selected").rotate({
angle: curAngle,
animateTo: curAngle - 90
})){
active = true;
}
$(this).attr('id', 'rotRight');
active = false;
});
我知道我在正确的道路上。我只是需要有人让我知道我错过了什么,或者如果我做错了什么,请告诉我
任何帮助都将不胜感激
谢谢旋转插件有一个可以重置活动标志值的
var active = false;
$('#rotRight').live('click', function() {
if (active) {
return;
}
var curAngle = parseInt($(".selected").getRotateAngle()) || 0;
active = true;
$(".selected").rotate({
angle: curAngle,
animateTo: curAngle - 90,
callback: function() {
active = false;
}
})
});
旋转插件有一个可以重置活动标志值的窗口
var active = false;
$('#rotRight').live('click', function() {
if (active) {
return;
}
var curAngle = parseInt($(".selected").getRotateAngle()) || 0;
active = true;
$(".selected").rotate({
angle: curAngle,
animateTo: curAngle - 90,
callback: function() {
active = false;
}
})
});
在返回之前,首先尝试阻止默认行为
var active = false;
$('#rotRight').live('click', function(e){
if (active) {
e.preventDefault(); // prevent default behaviour before returning
return;
}
...
});
在返回之前,首先尝试阻止默认行为
var active = false;
$('#rotRight').live('click', function(e){
if (active) {
e.preventDefault(); // prevent default behaviour before returning
return;
}
...
});
您可以始终创建一个覆盖(加载屏幕),停止用户执行任何操作,直到使用以下css通过全屏div完成该过程:
#overlay {
background-color: rgba(0, 0, 0, 0.3);
z-index: 999;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: none;
}
这将执行以下操作:
使所有内容在加载屏幕完成之前不可单击。您始终可以创建一个覆盖(加载屏幕),停止用户执行任何操作,直到通过带有以下css的全屏div完成该过程:
#overlay {
background-color: rgba(0, 0, 0, 0.3);
z-index: 999;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: none;
}
这将执行以下操作:
使所有内容在加载屏幕完成之前不可单击。您可以尝试在链接上使用。这样,您就可以在链接本身上设置“active”属性,并据此进行操作。Jquery使用$().data(string)方法处理该系统。我认为它比使用全局“活动”var更干净
您可以尝试在链接上使用。这样,您就可以在链接本身上设置“active”属性,并据此进行操作。Jquery使用$().data(string)方法处理该系统。我认为它比使用全局“活动”var更干净
尝试从语句
var active=false中删除var
代码>尝试从语句var active=false中删除var
代码>