2016-11-24 123 views
0

当用户点击比动作完成更快时,存在常见问题。在启动相同功能之前停止执行JQuery功能

在前端,有上X编辑按钮。当用户点击一行时,js触发这个函数。

$('.edit').click(function() { 
    var id = $(this).attr('data-id'); 
    $('#registrantDetails').load("/dashboard/edit-conference-registration/" + id + "/{{ confName }}") 
}} 

但再次点击,第二个动作的等待后率先完成等

我想问如何停止.load()函数之前启动另一个?

+0

添加标记为'isProcessing',如果其真正的,只是返回 – Rajesh

+0

您可以禁用按钮,并从'负载重新启用它()'完成回调 –

回答

2

只要添加变量来处理这个工作。

var isWorking = false; 
$('.edit').click(function() { 
    if (isWorking) return; 
    isWorking = true; 
    var id = $(this).attr('data-id'); 
    $('#registrantDetails').load("/dashboard/edit-conference-registration/" + id + "/{{ confName }}"); 
    isWorking = false; 
}); 
1

试试这个:

$('.edit').click(function() { 
    var id = $(this).attr('data-id'); 
    $('#registrantDetails').unbind('load'); 
    $('#registrantDetails').load("/dashboard/edit-conference-registration/" + id + "/{{ confName }}") 
}}