Conflito jQuery + hotKey

2 respostas
I

Boa tarde pessoal, estou integrando uma galeria de fotos em jQuery ao meu projeto jsf. A galeria utiliza a biblioteca jquery.min.js, só que esta biblioteca está dando conflito com algumas partes do meu código. Eu faco uma pesquisa nesse meu projeto pelo id, e utilizo hotkey para que possa manipular os eventos que preciso:

<h:inputText size="10" id="id_favorecido" onkeypress="mascara(this,somenteNumeros)"
                    value="#{Controller.financeiroFavorecido.id_favorecido}"/>
                  <rich:hotKey selector="#id_favorecido" key="return"   
                            handler="#{rich:element('bt_codigo')}.onclick();return false;"/>
                  <a4j:commandButton image="images/button.png" type="hidden" id="bt_codigo" 
                     	 action="#{Controller.buscaDados}" oncomplete="resultDados();"
                       reRender="form_coluna1,form_coluna2,dataProdutos,form_coluna3,dataSuporteContato,form_coluna4_esq,form_coluna4_dir,dataSuportePendencia,form_coluna6_dir,form_coluna6_esq"/>

Essa pesquisa funciona tranquilo, mas quando importo minha biblioteca jQuery () para utilizar a galeria da problema no hotkey, ele acusa o erro abaixo:

jQuery.hotkeys is undefined
[Break on this error] return result;},_getComponentControlPa…ns=this.buildOptions(this.selector);}

e fala que o erro é no arquivo hotKey.js.faces (linha 4).

Se alguém ja tiver passado por algo parecido, se souber se tem outra forma de fazer, de chamar o JQuery e tiver como dar uma ajuda ficarei muito agradecido. Ja tentei utilizar o jQuery.noConflict(); e mesmo assim continua a mesma coisa. No mais valew. Até mais!

2 Respostas

fabiomazzo

Usa o modo de compatibilidade do jQuery nessa galeria de fotos, isso deve resolver o problema, só precisa reescrever um pouco de código.

Segue documentação de como usar: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

I

Olá, obrigado pela dica fabiomazzo, porém mesmo assim não funcionou. Fazendo alguns testes descobri pelo menos onde está o problema. A galeria funciona normalmente quando executo pela primeira vez, porém quando vou renderizar algum ítem do meu form dá problema. Tentei passar o loadscript dentro do form, e usar a tag a4j, mas da esse problema, quando vou renderizar da conflito. Segue o codigo onde eu passo meu formulario:

<a4j:form id="form_coluna4_dir">
	            <a4j:loadScript src="js/facebox.js"/>
	            <a4j:loadScript src="js/stepcarousel.js"/>
							<div id="col4_dir">
	            	<div id="col4_dir1">
	                	<h:inputTextarea cols="32" rows="7" style="height:95px;" value="#{Controller.suporteContato.texto}"></h:inputTextarea>
	                </div>
	                <div id="col4_dir2">
	                	<rich:toolBar>
	                		<h:outputText value="Fotos da instalação física" ></h:outputText>
	                	</rich:toolBar>
	                </div>
	                <div id="col4_dir3">
	                	
	                		<div id="galleryB" class="stepcarousel">
													<div style="width: 1060px; left: 0px;" class="belt">
														<div style="float: none; position: absolute;" class="panel">
															<a href="images/galeria/fruits.jpg" rel="facebox"><img width="258" height="139" src="images/galeria/fruits.jpg" border="0"></a>
														</div>
														
														<div style="float: none; position: absolute; left: 265px;" class="panel">
															<a href="images/galeria/teste.jpg" rel="facebox"><img src="images/galeria/teste.jpg"></a>
														</div>
														
														<div style="float: none; position: absolute; left: 530px;" class="panel">
															<a href="images/galeria/teste2.jpg" rel="facebox"><img src="images/galeria/teste2.jpg"></a>
														</div>
														
														<div style="float: none; position: absolute; left: 795px;" class="panel">
															<a href="images/galeria/autumn.jpg" rel="facebox"><img src="images/galeria/autumn.jpg"></a>
														</div>
													</div>
												</div>
	                </div>
	            </div>
	            </a4j:form>

Ai quando vou renderizar da problema:

reRender="form_coluna4_dir"/>

To quebrando cabeca aqui com isso, rs. Obrigado pela ajuda!

Criado 30 de julho de 2010
Ultima resposta 2 de ago. de 2010
Respostas 2
Participantes 2