appliquer le même événement .click à deux divs différents

J’ai deux divs différents (code a été simplifié, ce n’est pas le code réel.)

ce que je veux, c’est d’attacher le même événement de clic à #funt : quelque chose comme:

 $('#test').click(function() { DoWork(); }); $('#funt).click(function() { DoWork(); }); function DoWork(){ alert('yes'); } 

mais n’y a-t-il pas moyen de définir le même événement de clic pour plusieurs div?

disons (oui, je sais que cela ne fonctionne pas!)

($('#test'),('#funt')).click(function(){alert('yes')});

Simplement:

 $("#test, #funt").click(DoWork); 

Voir Sélecteur multiple.

Assignez une classe à votre div, puis assignez l’événement click en utilisant la classe comme ceci:

 

ensuite

 $('.clickable').click(function() { DoWork(); }); 

Vous pouvez également lister l’identifiant comme ceci:

 $("#test, #funt").click(DoWork); 

J’essaie généralement d’utiliser des classes parce que c’est plus propre quand vous avez plusieurs divs – vous n’avez pas à lister l’ID de chacune.

Tu étais en fait assez proche:

  $('#test, #funt').click(function() { }); 

Vous avez deux options, soit vous pouvez donner une classe à ces deux div et ensuite lancer le code:

 $(".myclass").click(function() { DoWork(); }); 

Ou vous pouvez définir une fonction comme:

 function hookClick(arr, handler) { foreach (var i in arr) { $(i).click(handler); } } 

puis exécutez-le en utilisant

 hookClick(["#div1", "#div2"], function() { /*do sth cool }) 

Cela devrait marcher

 ($('#test','#funt')).click(function(){alert('yes')}); 

http://api.jquery.com/multiple-selector/

Vous pouvez essayer cette syntaxe pour le faire,

Lorsque vous travaillez avec des Classes

 $(".className1, .className2, .classNameN").on('click', function(){ Do_Some_Work(); }); 

Lorsque vous travaillez avec des Id's

 $("#ID1, #ID2, #IDN").on('click', function(){ Do_Some_Work(); }); 

Lorsque vous travaillez avec une combinaison d’ ID et de Class

 
z
w
x
y
$('#zw , #z.y').on('click', function(){ Do_Some_Work(); //Pointer come here only when it click on `W` and `Y` });