Partage
  • Partager sur Facebook
  • Partager sur Twitter

[jquery] event keyup double fired

    20 avril 2019 à 11:21:44

    Bonjour, 

    j'ai un code jquery simple qui lorsque l'on tape plus de 1 caractère dans un champ input de type text, je déclenche une requête Ajax.

    Le tout marche bien, mais mais ma requête Ajax est lancé 2 fois lorsque j'entre dans la condition (Si le contenu du champ possède plus de 1 caractère).

    Est-ce un bug ou une mauvaise utilisation ?

    $('body').on("keyup", "#service_sigle", function() {
      if($(this).val().length > 1) {
        $.post(router.routing.generate('service_pivot_search', { 'term' : $(this).val() })).then(function(response) {
          if(response != "") {
            $('#search').html(response).show();
          } else {
            $('#search').html(response).hide();
          }
        });
      } else {
        $('#search').html('').hide();
      }
    });

    Par contre si je rajoute un alert avant la condition :

    $('body').on("keyup", "#service_sigle", function() {
      alert('toto');
      if($(this).val().length > 1) {
        $.post(router.routing.generate('service_pivot_search', { 'term' : $(this).val() })).then(function(response) {
          if(response != "") {
            $('#search').html(response).show();
          } else {
            $('#search').html(response).hide();
          }
        });
      } else {
        $('#search').html('').hide();
      }
    });

    Il n'y a plus de bug..


    • Partager sur Facebook
    • Partager sur Twitter

    [jquery] event keyup double fired

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown