我在按钮+链接上有一个点击方法,可以通过点击动画来显示内容。但是,我希望它只能工作一次。我点击它后设法禁用了按钮,所以这很好。但是我在链接上尝试了.disabled = true
,但它没有用。有什么方法可以阻止它被多次点击吗?
JS
$('#frontbutton, #loginlink').on('click', function(){
$('.popup').hide();
usernameInput.val('');
emailInput.val('');
passwordInput.val('');
confirmInput.val('');
$('.intro').animate({opacity: '0.5'}, 1000).delay(800).animate({
left: "+=300px"
});
setTimeout(function(){
$('.formholder').show()}, 2000);
$('.toppic').animate({opacity: '0.5'}, 1000).delay(800).animate({
top: "+=300px"
});
document.getElementById('frontbutton').disabled = true;
});
答案 0 :(得分:5)
$('#frontbutton, #loginlink').one('click', function(){
.one()
的行为与.on()
类似,但处理程序在调用后会解除绑定。
答案 1 :(得分:1)
尝试使用one('click',function(){...
代替on('click',function(){...
。该事件每个元素只运行一次
Here's the documentation
答案 2 :(得分:1)
使用jquery,您可以通过这种方式关闭事件
$('#frontbutton, #loginlink').on('click.myEventNamespace',function(){
//Run my code
$('#frontbutton, #loginlink').off('click.myEventNamespace');
});
您也可以在活动中执行此操作。认为当你不使用jQuery时可能值得知道
this.removeEventListener('click',arguments.callee,false);