[jquery-br] duvida duplo click

78 views
Skip to first unread message

Tarsis Lima [Brasil]

unread,
May 9, 2010, 2:33:54 PM5/9/10
to jQuery (Brasil)
olá pessoal, estou precisando do seguinte
tenho uma tabela q ao clicar em uma row pego o id e busco via ajax os
outros dados referentes a ela,
e exibo na tela em uma div.
So que preciso separar da seguinte forma..
um click mostra os dados na tela, e dois clicks abre um modal pra
editar
os dados.
segue codigo ...
http://jsbin.com/avawa3/edit

neste caso quando dou duplo click ele executa a alert do exemplo mas
tbm executa o ajax 2 vezes
uma pra cada click,

preciso q tenham comportamentos diferentes se for um click e se for
duplo click.
Alguem poderia me ajudar?

--
Você está recebendo esta mensagem porque se inscreveu no grupo "jQuery (Brasil)" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para jque...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para jquery-br+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/jquery-br?hl=pt-BR.

Juarez Gonçalves Nery Junior

unread,
May 10, 2010, 8:53:48 AM5/10/10
to jque...@googlegroups.com
http://jsbin.com/owuno4

Acho impossível.

Pq vc não facilita, cria um tool de ações, editar,busca...

[s]

2010/5/9 Tarsis Lima [Brasil] <tarsi...@gmail.com>

Paulo Diovani

unread,
May 10, 2010, 9:30:23 AM5/10/10
to jque...@googlegroups.com
Não, não é impossível.
Mas o único jeito que consigo imaginar é atrasando o evento do click() e
cancelando-o no caso de um dblclick().
Ex:


$(function(){
$(window)
.click(function() {
//dispara o evento Click após 500 ms APENSA SE
//já não houver outro evento "agendado"
if (typeof tm !== "number") {
tm = window.setTimeout(function() {
delete tm;

console.log('clicked'); //ações do click!
}, 500);
}
})
.dblclick(function(e) {
//cancela o evento click agendado
window.clearTimeout(tm);
delete tm;

console.log('double clicked'); //ações do double click!
});
});


__
Paulo Diovani Gonçalves
pa...@diovani.com
http://diovani.com

Juarez Gonçalves Nery Junior

unread,
May 10, 2010, 9:35:53 AM5/10/10
to jque...@googlegroups.com
é, é uma maneira :)

[s]

2010/5/10 Paulo Diovani <pa...@diovani.com>

Tanure

unread,
May 10, 2010, 10:42:56 AM5/10/10
to jque...@googlegroups.com
logica

click
var++
delay
click
acao de duplo click

Suissa

unread,
May 10, 2010, 10:59:37 AM5/10/10
to jque...@googlegroups.com
Pensei assim aciona o click e se ouver mais um click, ja dentro da function do click, chama a fucnaoq  seria do dbclick, nao rola??

2010/5/10 Tanure <leta...@gmail.com>



--
Jean C. Nascimento
Desenvolvedor Web
http://twitter.com/suissacorp

http://www.suissacorp.com.br/

WebDeveloper
http://www.wgbnet.com.br/

NOSQL Evangelist
http://twitter.com/nosqlbr
http://facebook.com/nosqlbr
http://suissacorp.com.br/nosqlbr
http://groups.google.com/group/nosqlbr

Tanure

unread,
May 10, 2010, 11:32:32 AM5/10/10
to jque...@googlegroups.com
na propria documentação


<!DOCTYPE html>
<html>
<head>
  <style>
p { background:yellow; font-weight:bold; cursor:pointer; 
padding:5px; }
p.over { background: #ccc; }
span { color:red; }
</style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
	<p>Click or double click here.</p>
<span></span>
<script>
$("p").bind("click", function(event){
var str = "( " + event.pageX + ", " + event.pageY + " )";
$("span").text("Click happened! " + str);
});
$("p").bind("dblclick", function(){
$("span").text("Double-click happened in " + this.nodeName);
});
$("p").bind("mouseenter mouseleave", function(event){
$(this).toggleClass("over");
});

</script>
</body>
</html>
 


tarsis lima

unread,
May 10, 2010, 12:57:40 PM5/10/10
to jque...@googlegroups.com
consegui com a contagem de clicks. mas com algumas adaptações.
o click tava contando indiferente de qual linha eu clicava ..
entao coloquei uma verificacao se o primeiro click foi na mesma linha.
valew a todos.
Reply all
Reply to author
Forward
0 new messages