Frage

In Optimizely, ich bin versucht zu tun, einige grundlegende klicken Sie auf Ereignisse.Ich weiß, dass Optimizely ist nur auf jquery 1.6, so dass die Verwendung on(), off() für Veranstaltungen ist nutzlos.Um sicher zu stellen, bin ich mit dem grundlegendsten-event-handler click(function(){ ... }));, wird , aber auch das funktioniert nicht.Mir wurde gesagt ich solle window.$ aber in den click() diese Technik funktioniert auch nicht.Ist die jquery, die in Optimizely anders?

Ich weiß, es ist eine Art von Problem zwischen Optimizely und jQuery, aber kann sich bitte jemand shed mir etwas Licht in diese?

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();

Viele Thnaks

War es hilfreich?

Lösung

Sie haben einen syntax-Fehler in Zeile 1:

(function(window.$) {

Lesen sollte

(function($) {

Sie verwenden können, je nachdem, jQuery (>= 1.6), die Sie wie:nur einbetten, die Sie wollen, und in Optimizely ' s Einstellungen -> jQuery-Einstellungen, wählen Sie "nicht auf jQuery im Projekt-code", und die Dinge werden gut funktionieren.Werden Sie sicher, dass Sie Ihre eigenen jQuery, bevor das Optimizely-Skript-tag, obwohl.

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