Estou tentando usar jQuery UI
de forma modulada. Em vez de carregar um .JS
arquivo (maior que 200kb) com todos jQuery UI
funcionalidade:
<script type="text/javascript" src="jquery.ui.custom.js"></script>
Eu pretendo carregar somente os necessários (por exemplo, para o autocompletar):
<script type="text/javascript" src="jquery.ui.core.min.js"></script>
<script type="text/javascript" src="jquery.ui.widget.min.js"></script>
<script type="text/javascript" src="jquery.ui.position.min.js"></script>
<script type="text/javascript" src="jquery.ui.menu.min.js"></script>
<script type="text/javascript" src="jquery.ui.autocomplete.min.js"></script>
Mas eu quero carregar esses arquivos através do javascript somente se a funcionalidade de autocomplete não for detectada. Eu sei que posso verificar se jQuery UI
é carregado para uma página com este JavaScript
condição:
if (typeof jQuery.ui !== "undefined"){
// jQuery UI core is loaded
}
O que eu preciso fazer é verificar especificamente se jQuery UI
A funcionalidade de preenchimento automático está disponível para uso:
if (typeof jQuery.ui.autocomplete !== "undefined"){
// jQuery UI autocomplete is loaded
}
Mas o código acima retorna este erro:
Uncaught TypeError: Object [object Object] has no method "autocomplete"
O que estou tentando alcançar é uma maneira de carregar jQuery UI
bibliotecas apenas quando um dos seus recursos é utilizado. Hotlink de sites como o Google não é uma opção, e eu não posso colocar todos jQuery UI
bibliotecas em todas as páginas de um site com o qual estou trabalhando. Para conseguir isso, vou fazer funções de javascript personalizadas para usar jQuery UI
Widgets como Autocomplete e Datepicker, e dentro dessas funções, eu vou verificar se jQuery UI
bibliotecas são carregadas, e carregá-los, se eles não são ". Eu consegui que para Autocomplete e DatePicker, mas eles não vão funcionar se executar ambas as funções em uma mesma página, porque o meu jQuery UI
verificação de bibliotecas não é totalmente funcional.
Alguém sabe alguma maneira de fazer isso?
Respostas:
3 para resposta № 1Não é autocomplete definido como parte de uma extensão jquery? Eu acho que você deve estar verificando:
$.fn.autocomplete
Desde que você chama $ ("elemento"). Autocomplete (); para chamar o plugin.