J'ai dans mon appli un processus ajax, qui tourne en boucle et doit d'arreter quand l'utilisateur clique sur un lien, voici le script ajax :
Mon script est appelé sur ma page de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <script type="text/javascript"> function displayCredit(price, mode, selection){ $.ajax({ type: "POST", url: decodeURI("<?= $this->basepath(); ?>/distribution/displaycredit"), data: { price : price, mode : mode, selection: selection }, error: function(){ return false; }, success: function(retour){ if(retour.selection != null){ if(retour.statut == 'ok' && retour.price != null && retour.mode != null){ /* Command ok */ getUrl('<?= $this->url('distribution/processing',array('selection'=>$selection,'receipt'=>$receipt)); ?>'); } } var old_value = $('#amout_credit_hidden').val(); if(old_value != retour.credit){ $("#amout_credit").html(retour.credit); $("#amout_credit_hidden").val(retour.credit); $("#amout_credit_hidden").trigger('change'); } setTimeout("displayCredit('"+retour.price+"','"+retour.mode+"','"+retour.selection+"')",<?= $timer; ?>); return true; } }); } </script>
J'ai essayé plein de trucs mais je n'arrive pas à arrêter ce fichu timeout au clic !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <script type="text/javascript"> $(document).ready(function() { var display = displayCredit(null,null,null); // stopEvent(); }); </script>
J'ai essayé avant mon return true :
Mais rien n'y fait ... il continue de tourner !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $('.link').click(function() { clearTimeout(disCredit); return false; }); var disCredit = setTimeout("displayCredit('"+retour.price+"','"+retour.mode+"','"+retour.selection+"')",<?= $timer; ?>); return true;
Please help !
Partager