Este artigo descreve o método de cliques coexistentes e clique duas vezes no JavaScript. Compartilhe para sua referência. A análise específica é a seguinte:
No processo de desenvolvimento da Web, geralmente encontramos esse problema: registre um evento de clique duas vezes para um link ou registre um evento de clique ou clique duas vezes em um botão ou outro elemento ao mesmo tempo. Neste momento, descobrimos que o evento de clique duas vezes na página da web nunca funcionará. O motivo é que, quando clicamos uma vez, ele é interceptado por um evento de hiperlink ou clique em. Este artigo descreve um método específico de como resolver esse problema técnico. O princípio da implementação desta solução é que o evento de clique e o evento de clique duas vezes chamam o mesmo método. Julgamos se é um evento de clique ou clique duas vezes com base no intervalo entre os dois cliques do mouse. Quando o evento de clicar, não chame primeiro, aguarde um curto período de tempo. Após esse período de tempo, se não houver próximo clique, comece a ligar para a operação correspondente de clicar. Se houver um próximo clique, ligue duas vezes.
Para uma descrição detalhada, participe da seguinte lista de códigos:
Copie o código da seguinte forma: <html>
<head>
<Title> javascript percebe clique e clique duas vezes em coexistência </ititle>
<Meta name = "generator" content = "editplus">
<Meta name = "autor" content = "//www.vevb.com/">
<Meta name = "Keywords" content = "">
<Meta name = "description" content = "">
</head>
<Body>
<Script Language = "JavaScript">
<!-
var dctime = 250; // DoubleClick Time
var dcdelay = 100; // sem cliques após o DoubleClick
var dcat = 0; // Tempo de DoubleClick
var savevent = nulo; // Salvar evento para manusear doclick ().
var savevttime = 0; // Economize o tempo do evento de clique.
var savto = nulo; // Handle of Click Settimeout
função showMe (txt) {
document.forms [0] .Elementos [0] .Value += txt;
}
função handlewisely (que) {
Switch (que) {
caso "clique":
savevent = qual;
d = new Date ();
savevttime = d.gettime ();
savto = setTimeout ("doclick (savevent)", dctime);
quebrar;
caso "dblClick":
dodoubleleclick (que);
quebrar;
padrão:
}
}
função doclick (que) {
if (savevttime - dcat <= 0) {
retornar falso;
}
showMe ("clique");
}
função dodoubleclick (que) {
var d = new Date ();
dcat = d.gettime ();
if (savto! = null) {
savto = nulo;
}
showMe ("clique duplo");
}
//->
</Script>
<p>
<a href = "javascript: void (0)"
OnClick = "Handlewisely (event.type)"
ondblClick = "handlewisely (event.type)"
style = "cor: azul; font-family: Arial; cursor: Hand">
Clique para ver os resultados:
</a>
</p>
<morm>
<tabela>
<tr>
<td valign = "top">
Modo de evento: <textário linhas = "4" cols = "60" wrap = "soft"> </sexttarea>
</td>
</tr>
<tr>
<td valign = "top">
<input type = "Reset">
</td>
</tr>
</tabela>
</morm>
</Body>
</html>
Espero que este artigo seja útil para a programação JavaScript de todos.