jquerysmart-wizard

When clicking the tab very fast two tab's got Selected


When try to click the tabs very fast two tabs got Selected in Jquery SmartWizard.js plug-in i tried this way but no luck any one experienced this... and also tried .on /.off events no luck.

$($this.steps).bind("click", function (e) {

    //e.stopImmediatePropagation();       
    $($this.steps).unbind("click");

    if ($this.steps.index(this) == $this.curStepIdx) {

        return false;
    }
    var nextStepIdx = $this.steps.index(this);
    var isDone = $this.steps.eq(nextStepIdx).attr("isDone") - 0;
    if (isDone == 1) {
        _loadContent($this, nextStepIdx);
    }

    $($this.steps).bind("click");
    return false;
});

Solution

  • hi guy's thank you for your efforts i solved the issue by blocking the UI using UI block plugin

    $($this.steps).on("click", function (e) {
    
        e.preventDefault();
        e.stopImmediatePropagation();
        if ($(this).attr('class') !== 'disabled' && $(this).attr('class') !== 'selected' && $(this).attr('class') !== 'error') {
    
            $('div.swMain').block({ message: "Processing..." });
        }
    
        try {
    
            if ($this.steps.index(this) == $this.curStepIdx) {
    
                $('div.swMain').unblock();
                return false;
            }
    
            var nextStepIdx = $this.steps.index(this);
            var isDone = $this.steps.eq(nextStepIdx).attr("isDone") - 0;
            if (isDone == 1) {           
                e.preventDefault();
                _loadContent($this, nextStepIdx);
    
            }
        }
        catch (e) {
    
            $($this.steps).on("click");
            console.log("Fast click Error ===>   " + e);
        }
    
    
        if ($(this).attr('class') !== 'disabled' && $(this).attr('class') !== 'selected' && $(this).attr('class') !== 'error') {
    
            $('div.swMain').unblock();
        }
    
        return false;
    });