Por que o botão jQuery leva um segundo para atualizar depois de atualizar uma página usando Ajax

StackOverflow https://stackoverflow.com/questions/2819034

  •  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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top