Javascript 使单击仅在功能就绪时可用
我制作了一个jquery函数,它根据一个值验证值、编辑隐藏表单和隐藏/显示div。类似于向购物篮添加/删除项目。当用户以正常速度单击时,此功能可以正常工作 然而,当用户快速点击时,就会出现问题。向购物篮中添加产品和验证是混淆的,这会导致结果混乱 如何在函数执行时禁用单击 我只是用一个普通的单击函数调用add函数:Javascript 使单击仅在功能就绪时可用,javascript,jquery,Javascript,Jquery,我制作了一个jquery函数,它根据一个值验证值、编辑隐藏表单和隐藏/显示div。类似于向购物篮添加/删除项目。当用户以正常速度单击时,此功能可以正常工作 然而,当用户快速点击时,就会出现问题。向购物篮中添加产品和验证是混淆的,这会导致结果混乱 如何在函数执行时禁用单击 我只是用一个普通的单击函数调用add函数: $('.add').click(add); 您可以在单击后禁用按钮或超链接,并在直接或通过回调完成该功能时重新启用: $(".add").click(add); function
$('.add').click(add);
您可以在单击后禁用按钮或超链接,并在直接或通过回调完成该功能时重新启用:
$(".add").click(add);
function add(event) {
$(".add").attr({disabled: "disabled"});
// .... some code
$(".add").removeAttr("disabled");
}
但是,属性已禁用
在每个浏览器中的工作方式可能不同;例如,它可能只适用于表单元素,而不适用于超链接(a
)
另一个解决方案是限制事件处理程序,例如使用。一个简单的解决方案,但您必须使用按钮
var buttons = $(".add");
buttons.click( function(){
buttons.attr("disabled","disabled");
//Do your job and don't forget to remove 'disabled'
});
使用绑定和取消绑定功能浏览器一次只处理一个事件。你必须发布更多的代码,以便让人们看到正在发生的事情。确保事件是
a·syn·chro·nous
,然后。异步的不是异步的-u-Ah好的,你纠正了它:我使用了更新的.on()和.off()函数,但想法是一样的。谢谢
$(".add").bind('click', function(){
console.log('bound');
});
$(".add").unbind('click');