Versão atual:

Funções em widget sem executadas várias vezes

Estou desenvolvendo um projeto (página) com uma widget que permite ao usuário anexar documentos, para tal, até mesmo a estrutura de pastas é criada dinamicamente. Estou tendo problemas, pois para alguns usuários, algumas funções dentro do código são executadas várias vezes, porém no código ela é chamada somente no click do botão. Realizando o mesmo teste não acontece na minha maquina, mesmo estando na mesma versão do Chrome e do Windows. Tentei usar ev.stopPropagation(), mas sem sucesso. Como um pequeno exemplo, deixo um trecho de código que deveria abrir o documento, caso o usuário clique duas vezes sobre o referido:

}).on('dblclick', function (ev) {
                ev.stopPropagation();
                var index = that.table_fornecedor.selectedRows()[0];
                var selected = that.table_fornecedor.getRow(index);
                if (selected.txtStatusDocumento != 'Inexistente') {
                    _this.abrirDocumento(selected.txtIdDocumento);
                }
                else {
                    FLUIGC.toast({
                        title: '',
                        message: "Documento Inexistente",
                        type: 'warning',
                        timeout: 6000
                    });
                }

Função para abrir o documento:

abrirDocumento: function (param) {
        try {
            var identificacao = param;
            $.ajax({
                url: '/api/public/2.0/documents/getDownloadURL/' + identificacao,
                type: "GET",
                async: false,
            }).fail(function (retorno) {
                FLUIGC.toast({
                    title: '',
                    message: "Erro ao tentar abrir o documento.",
                    type: 'warning',
                    timeout: 6000
                });
            }).error(function (retorno) {
                FLUIGC.toast({
                    title: '',
                    message: "Erro ao tentar abrir o documento",
                    type: 'warning',
                    timeout: 6000
                });
            }).done(function (data) {
                var retorno = data;
                window.open(retorno.content);
            });
        } catch (error) {
            _this.modalInformativa('ERROR', 'Erro na função "abrirDocumento" : ' + error);
        }
    }

Chega a acontecer de abrir mais de 5 abas do navegador com o documento, sendo que foi clicado somente 1 vez.

Alguém já passou por isso ou sabe como melhorar?

Versões (2):

Ver a versão formatada

Funções em widget sem executadas várias vezes

Comentário

new question