Domanda

In modo ottimizzato, sto cercando di fare alcuni eventi di clic di base.So che ottimizzabilmente è solo su jquery 1.6, quindi usare on(), off() per eventi è inutile.Per essere sicuri, sto usando il più basico del gestore di eventi click(function(){ ... }));, ma anche questo non funziona.Mi è stato detto di usare la finestra. $ Ma nel click() questa tecnica non funziona neanche.È il jQuery in modo ottimizzato diverso?

So che c'è una specie di problema tra ottimizzante e jQuery ma per favore qualcuno può farmi un po 'di luce su questo?

JS Snippett:

(function(window.$) {

  window.$.fn.tabbs = function(options) {
    var settings = {
            dir: 'top',
            trigger: 'a',
            target: '.tab-section',
            selected: 'selected'
        },
        html = $('html');

    window.alert('jquery object: ' + window.$);

    if (html.hasClass('no-js')) {
        html.removeClass('no-js').addClass('js');
    } else {
        html.addClass('js');
    }

    var classAction = function(obj, action, cls) {
        window.$(obj)[action](cls);
    };

    window.$.extend(settings, options);

    return this.each(function() {
        var tabs = window.$(this),
            tab = tabs.find(settings.trigger),
            tabSection = window.$(settings.target),
            tabsSystemContainer = tabs.closest('div');

        switch(settings.dir) {
            case 'left':
                tabsSystemContainer.removeClass(settings.dir || 'top').addClass('left' || settings.dir);
                break;
            default:
                tabsSystemContainer.removeClass('left' || settings.dir).addClass(settings.dir || 'top');
        }
        //this where I'm having problems
        tab.click(function(e) {
            var self = window.$(this);

            e.preventDefault();

            window.alert('Hello, inside tab click event...');
        });
    });
  };
}(window.jQuery));

window.$('.tabs').tabbs();
.

Molti Thnaks

È stato utile?

Soluzione

Hai un errore di sintassi sulla riga 1:

(function(window.$) {
.

dovrebbe leggere

(function($) {
.

È possibile utilizzare qualsiasi jQuery (>= 1.6) che ti piace: semplicemente incorpora colui che desideri, e in Impostazioni di ottimizzazione -> Impostazioni jQuery, selezionare "Non includere jQuery nel codice del progetto", e le cose funzionano bene.Assicurati di includere la tua jQuery prima del tag di script opzionale, però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top