Como evitar um duplo clique no botão diferente?

Meu problema não é clicar duas vezes no mesmo botão, mas em 2 botõe

O usuário clica duas vezes em um botã

O primeiro clique é detectado por um primeiro botãoo controlador faz a açãoa interface do usuário é atualizada, outro botão é exibido na mesma posiçãoo segundo clique é capturado pelo segundo botão => o usuário não deseja clicar no segundo botão

Como posso evitar isso

Eu testei:

Para desativar todos os botões da interface do usuário durante a ação
mas se a ação for realmente rápida, os botões serão ativados antes do segundo clique

Para não colocar 2 botões no mesmo local na interface do usuário
nem sempre é possível e com a interface do usuário responsiva não é possível gerenciar todos os casos

Para adicionar um carimbo de data / hora global ao clicar e testar durante o segundo clique, se tivermos 500ms

            _click: function(args)
            {
                // to avoid double click user need wait 500ms between each click
                if(window.paperbutton_timestamp)
                {
                    var diff = new Date() - window.paperbutton_timestamp;                            
                    if(diff < 500)
                    {
                        window.paperbutton_timestamp = new Date();                        
                        return;
                    }
                }
                window.paperbutton_timestamp = new Date();                        

                if(scope.click)
                {
                    scope.click(args);
                }
            },

Ok, ele faz o trabalh

gora, meu problema é que tenho muitos testes de ponta a ponta, com mais de 2000 cliques. Alguns cliques no transferidor são feitos em menos de 500 m

Que solução posso ter?
1. Adicione uma espera após cada clique
(mais de 2000 espera para adicionar manualmente)
2. Defina os 500ms em uma variável global e substitua esse valor como 0ms
como substituir em cada teste e cada atualização de página?
3. Substituir clique do transferidor?
Costura é a melhor solução, mas não sei como fazer iss

Você tem outra ideia melhor :)?

questionAnswers(3)

yourAnswerToTheQuestion