código { preenchimento (preenchido): 2px; cor de fundo: #f4f4f4; cor: #7f0055; peso-da fonte: negrito; borda: sólido 1px #ddd; } aspas { margem-esquerda: 1em; tamanho-fonte: 12px; altura-linha: 17px; cor-fundo: #fdfdfd; borda: sólido 1px #ccc; preenchido: 4px; estilo-fonte: normal; }
Eu estava desenvolvendo um sistema que estava desenvolvendo atualmente com a última versão jQuery 1.9.1, e era viciado em um plugin jQuery que rodava no sistema que eu estava desenvolvendo no mês passado e que deveria implementar a mesma coisa, mas não funcionou. Era a "thickbox" que vinha com o núcleo do WordPress, e eu me perguntei por que funcionava no painel de administração e não no lado do tema, e quando pesquisei, vi que havia uma diferença entre o jQuery do núcleo que eu estava carregando, que era 1.8 e 1.9. Quando pesquisei as mudanças de especificação da série jQuery 1.9, percebi que o método que até então era bastante útil havia sumido.
Eu sabia que seria deletado no futuro, mas usei '$.browser()' porque era fácil de usar, e '$.live()', que foi útil porque era mais versátil que '$.bind()', que era menos adaptável a objetos DOM gerados dinamicamente, etc., então plugins jQuery que usam esses métodos começaram a causar erros.
Dito isso, resumi as principais mudanças nas especificações no jQuery 1.9.
'$.browser()' foi designado como não suportado desde a depreciação 1.3, mas o método finalmente foi excluído... Era fácil de usar porque você pode facilmente avaliar o navegador, mas não tem como evitar. De agora em diante, preciso usar '$.support()' para configurar uma fórmula de julgamento.
'$.live()' está descontinuado
Uma versão estendida de '$.bind()', o bind é um método que permite vincular processamento a objetos gerados dinamicamente em jQuery ou JavaScript. Isso também foi útil porque era fácil de usar, mas foi descontinuado. A partir de agora, você pode usar '$.on()' e '$.off()'. Bem, isso é definitivamente mais inteligente porque você pode controlar o ligar/desligar eventos de vinculação de forma fácil de entender.
- '$.die()' está obsoleto
Este é um método que elimina a função live acima. Se não houver live, isso também é desnecessário.
- '$.sub()' está descontinuado
Este é um método que cria uma cópia de um objeto jQuery core cujas propriedades e métodos podem ser alterados livremente. Foi usado no desenvolvimento de plugins para estender o núcleo jQuery independentemente sem alterar o núcleo, mas pode ter havido a decisão de que não haveria plugin que copiasse o enorme núcleo jQuery e consumisse memória. Bem, é um método que não é muito usado por ninguém além dos desenvolvedores de plug-ins, e parece que esse método está conectado desde a série 1.8, então o impacto de sua abolição é baixo.
- '$.toggle(fn1(),fn2(),[... depreciação de fnN()])'
Esse método foi obsoleto na série 1.7. Era um método que podia executar funções como fn1, fn2 e fnN toda vez que um objeto especificado fosse clicado, e depois retornava ao fn1 após fnN. E quanto à interface onde você precisa mudar tanto o processamento a cada clique? Então fico pensando se é apropriado aboli-lo... Ah, a propósito, '$.toggle()', que é um tipo de efeito de evento que não é um tipo limitado a funções, não foi abolido.
- Outros métodos com ordem de descrição alterada e conteúdo de processamento
Parece que vários detalhes mudaram, como '$.add()', '$.before()', '$.after()', '$.addSelf()', etc.
- Para detalhes, consulte o Guia de Atualização original do jQuery Core 1.9.
A partir de 12 de fevereiro de 2013, a versão mais recente do jQuery é a 1.9.1, mas se você usar plugins e bibliotecas jQuery existentes, espera-se que muitas coisas não funcionem como estão, a menos que você as deixe em versões até a 1.8. Pode ser melhor reconhecer o jQuery até a 1.8 e depois da 1.9 como itens separados.