Frage

Ich konnte mein Problem nicht durch Stack suchen. Ich habe meine Live () -Funktion unten. Sie können sehen, wie ich die Schaltfläche stoppen möchte, die ein zweites Mal geklickt wird, während die Funktion ausgeführt wird, und dann wieder aufzunehmen. Der Knopf stirbt ungebrannt, aber er bin nicht wieder gebunden ...: s

$('.control-left, .prevActive').live('click',function(){

    var firstSlide = $('.slider li:first-child');

    if(firstSlide.attr('class') != 'active'){   
        $('.control-left, .prevActive').die('click');   
        moveSlider('left');
        $('.control-left, .prevActive').live('click');
    }

});
War es hilfreich?

Lösung

Keine Notwendigkeit, sich zu entbinden und wieder zu wiederherstellen, nur eine Flagge verwenden:

var running = false;
$('.control-left, .prevActive').live('click',function(){
    var firstSlide = $('.slider li:first-child');

    if(firstSlide.attr('class') != 'active' && !running){ 
        running = true;
        moveSlider('left');
        running = false;
    }
});

Andere Tipps

Sie übergeben keine Funktion an .Live .. Versuchen Sie Folgendes:

$('.control-left, .prevActive').live('click',function hello(){

    var firstSlide = $('.slider li:first-child');

    if(firstSlide.attr('class') != 'active'){   
        $('.control-left, .prevActive').die('click');   
        moveSlider('left');
        $('.control-left, .prevActive').live('click', hello);
    }

});

Ihre letzte Codezeile bindet nichts an den Klick -Handler. Sie müssen eine Funktion binden

$('.control-left, .prevActive').live('click', function () { code here });

In Ihrer Situation möchten Sie wahrscheinlich so etwas tun

var myspecialclickfunction = function(){

  var firstSlide = $('.slider li:first-child');

  if(firstSlide.attr('class') != 'active'){   
      $('.control-left, .prevActive').die('click');   
      moveSlider('left');
      $('.control-left, .prevActive').live('click', myspecialclickfunction);
};

$(document).ready(function () {
  $('.control-left, .prevActive').live('click',myspecialclickfunction);
});

Auch JQuery 1.42 bis 1.6X Sie sollten verwenden

in JQuery 1.7+

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top