Ajuda com RichFaces + JQuery

4 respostas
mlcalache

Pessoal. Bom dia.
Estou com uma dúvida.

Vocês sabem se tem como trabalhar com RichFaces e também com a biblioteca do JQuery (importando o javascript dela)?

No meu projeto eu não estou conseguindo conciliar os dois.

Estou importando o JavaScript:
<script src="#{facesContext.externalContext.request.contextPath}/js/jquery.js" type=“text/javascript” />

E também estou importando uma função JQuery:
<script src="#{facesContext.externalContext.request.contextPath}/js/tooltip.js" type=“text/javascript” />

Pois esta função é o que me faz um ToolTip customizado nos campos do meu formulário (veja imagem 1 em anexo):

$(document).ready(function() {

//display AirportName like a popup

$(".js_hoverData").hide();

$(".js_hoverLauncher").live(mouseover, function() {

$(".js_hoverData", $(this).parent()).show();

});

$(".js_hoverLauncher").live(mouseout, function() {

$(".js_hoverData", $(this).parent()).hide();

});

$(".js_hoverLauncher").live(mousemove, function(e) {

var off = $(this).offset();

var pos = $(this).position();

$(".js_hoverData", $(this).parent()).css({

position:absolute,

top:e.pageY - off.top + pos.top +10,

left:e.pageX - off.left + pos.left +10

});

});
$(".js_noLink").live("click", function() {
        return false;
    });
});

Aí em uma página qualquer:

<h:inputText id=“nome” value="#{produtoBean.produto.nome}" size=“30” maxlength=“14” class=“js_hoverLauncher” />
<div class=“js_hoverData”>Escreva o nome para o produto a ser cadastrado</div>

Só que se eu deixo o IMPORT do javascript JQUERY, os componentes RichFaces deixam de funcionar na minha aplicação.
Por exemplo, a imagem 2 é com o RichFaces funcionando e sem o JQUERY, já na imagem 3 é com o RichFaces sem funcionar e com a importação do JS do JQUERY.

Alguém tem alguma idéia de como posso fazer isso?

Imagem 1:

Imagem 2:

Imagem 3:

4 Respostas

G

Matheus, pode remover o import do Jquery, ele já está imbutido no Richfaces.

Para usá-lo, é o seguinte:

substitua o $(document).ready(function() por jQuery(function()
e em todos elementos o $ por jQuery, por exemplo: $(".js_hoverData").hide(); por jQuery(".js_hoverData").hide();

mlcalache

Funcionou. Muito obrigado!

serjaumfantin

Complementando: http://serjaum.wordpress.com/2009/07/25/jsf-mascaras-com-jquery/

abraços…

juniorsatanas

http://serjaum.wordpress.com/2009/07/25/jsf-mascaras-com-jquery/

Blog do Caralho !

Criado 2 de setembro de 2009
Ultima resposta 23 de fev. de 2010
Respostas 4
Participantes 4