Cet article décrit la méthode de clic coexistant et de double-cliquer dans JavaScript. Partagez-le pour votre référence. L'analyse spécifique est la suivante:
Dans le processus de développement Web, nous rencontrons souvent ce problème: enregistrez un événement en double-cliquez pour un lien, ou enregistrez un événement cliquez ou double-cliquez sur un bouton ou un autre élément en même temps. Pour le moment, nous constatons que l'événement à double clic sur la page Web ne fonctionnera jamais. La raison en est que lorsque nous cliquez une fois, il est intercepté par un événement hyperlien ou cliquez. Cet article décrit une méthode spécifique pour résoudre ce problème technique. Le principe de mise en œuvre de cette solution est que l'événement de clic et l'événement double-cliquez sur la même méthode. Nous jugeons s'il s'agit d'un clic ou d'un événement double-cliquez en fonction de l'intervalle entre les deux clics de souris. Lorsque l'événement de clic vient, ne l'appelez pas d'abord, attendez une courte période. Après cette période, s'il n'y a pas de clic suivant, commencez à appeler l'opération correspondante de clic. S'il y a un prochain clic, appelez Double-Click.
Pour une description détaillée, veuillez participer à la liste de code suivante:
Copiez le code comme suit: <html>
<adal>
<Title> JavaScript réalise Click et double-cliquez sur Coexistence </Title>
<Meta name = "générateur" contenu = "editplus">
<Meta name = "auteur" content = "//www.vevb.com/">
<Meta name = "keywords" contenu = "">
<Meta name = "Description" content = "">
</ Head>
<body>
<Script linguisse = "javascript">
<! -
var dctime = 250; // DoubleClick Time
var dcdelay = 100; // pas de clics après DoubleClick
var dcat = 0; // heure de DoubleClick
var savevent = null; // Enregistrer l'événement pour gérer doclick ().
var sauvevttime = 0; // Enregistrer l'heure de l'événement de clic.
var savto = null; // GANCE DE CLIQUEZ SETTimeout
fonction showme (txt) {
Document.Forms [0] .Elements [0] .value + = txt;
}
Fonction Handlewisly (qui) {
commutateur (qui) {
case "cliquez":
SAVEvent = qui;
d = new Date ();
SaveVtTime = D.GetTime ();
SAVTO = setTimeout ("Doclick (Savevent)", DCtime);
casser;
cas "dblclick":
DodoubleClick (qui);
casser;
défaut:
}
}
fonction doclick (qui) {
if (savevttime - dcat <= 0) {
retourne false;
}
showme ("cliquez");
}
fonction dodoubleclick (qui) {
var d = new Date ();
dcat = d.getTime ();
if (savto! = null) {
SAVTO = NULL;
}
showme ("double-cliquez");
}
// ->
</cript>
<p>
<a href = "javascript: void (0)"
onclick = "handlewisely (event.type)"
ondblclick = "handlewisely (event.type)"
Style = "Couleur: bleu; Font-Family: Arial; Cursor: Hand">
Cliquez pour voir les résultats:
</a>
</p>
<formulaire
<ballage>
<tr>
<td valign = "top">
Mode d'événement: <TextArea Rows = "4" Cols = "60" wrap = "Soft"> </ TextArea>
</td>
</tr>
<tr>
<td valign = "top">
<entrée type = "réinitialiser">
</td>
</tr>
</ table>
</ form>
</docy>
</html>
J'espère que cet article sera utile à la programmation JavaScript de tous.