|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 306
|
[Javascript] onClick e onDblClick
Ciao ragazzi!
ho un'ancora alla quale associo due eventi: onClick e onDblClick e al verificarsi di ognuno di questi eventi deve richiamare 2 funzioni distinte. il problema è che anche quando clicco 2 volte sull'ancora, parte la funzione associata all'evento onClick, in quanto 1 click c'è sempre e comunque. avevo pensato a questa soluzione, che però funziona solo in IE Codice:
var iTimeoutId = null;
function oneClick(url) {
iTimeoutId = setTimeout("location.href='" + url + "';", 500);
}
function twoClick(url,name) {
clearTimeout(iTimeoutId);
openWin(url,name);
}
(non tiratemi fuori setInterval e parenti per favore Grazie mille a tutti!
__________________
... I believe in miracles / I believe in a better world / for me and you ... ...Music is like sunrise for me / it's joyful like a trip in a time machine... ...Sei solo corri, corri, corri, corri / Non ti voltare mai... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Prova questo, per me funziona sia in Firefox che in iexplorer:
Codice:
<html>
<head>
<script type="text/javascript">
var clicksCount = 0;
var timeoutId = 0;
function OnSingleClick()
{
alert("single click");
}
function OnDoubleClick()
{
clicksCount = 0;
clearTimeout(timeoutId);
alert("double click");
}
function OnMouseUp()
{
clicksCount++;
if (clicksCount == 1)
{
timeoutId = setTimeout(OnSingleClick, 500);
}
else
{
OnDoubleClick();
}
}
</script>
</head>
<body>
<a href="javascript:;" onMouseUp="OnMouseUp()">test</a>
</body>
</html>
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 306
|
ti ringrazio, ma mi vietano di usare funzioni come setTimeout ecc...
anch'io sinceramente non vedo in che altro modo farlo...avevo provato a guardare su web e forse, dico forse perchè non ho approfondito troppo data la lunghezza di una cosa simile, si può fare con una complessa gestione degli eventi, su cui non sono molto skillata purtroppo ho provato a fare qualcosa ma risulta veramente molto complicato e, dato che non è urgentissimo, mi riservo di riprovarci tra qualche giorno magari, quando ho più tempo a disposizione. speravo che magari qualcuno avesse già avuto questo problema e potesse postare il suo codice, ma mi rendo conto che, dato che la soluzione più semplice è usare il timeout, chi avesse già avuto bisogno di uno script simile, abbia utilizzato tali funzioni. tra l'altro ancora non mi è stato spiegato il motivo per cui non posso utilizzare anch'io quelle funzioni...bah!
__________________
... I believe in miracles / I believe in a better world / for me and you ... ...Music is like sunrise for me / it's joyful like a trip in a time machine... ...Sei solo corri, corri, corri, corri / Non ti voltare mai... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:19.



















