Por que o botão jQuery leva um segundo para atualizar depois de atualizar uma página usando Ajax
-
26-09-2019 - |
Pergunta
Quando refresco uma parte de uma página da web que possui um botão de interface do usuário do jQuery, parece que tenho que ligar:
$(":button").button();
Novamente ou aparece como um botão regular. Tudo bem, mas quando eu faço isso, ele ainda aparece como um botão regular para uma fração de segundo antes de converter para o estilo do tema jQuery. Existe alguma maneira de evitar isso, pois parece um pouco confuso.
NOTA: Percebi que isso é para qualquer coisa que eu esteja com a UI jQuery como preenchimento automático, botão etc. Portanto, não é um problema específico do botão.
Solução
Em que ponto você widgetize o botão? Parece -me que você está fazendo isso um pouco mais tarde, quando você realmente quer fazê -lo.
Além disso, você pode tentar o widgetizando o botão antes de adicionar o DOM à sua página. Provavelmente não funcionará, mas vale a pena um tiro
Então, aqui está um exemplo do que eu disse acima:
function(data){ //so this is the success function which is called when your ajax comes back and you need to write that data to some part of the page.
var $data = $(data); //create the dom for the new stuff but do not append into the page's dom yet!
$data.find(":button").button()//widgetize the buttons now
$("#page_of_the_page_to_be_updated").append($data); //update the page
}
Isso pode não funcionar. Mas vale a pena tentar.