Pregunta

En Optimizely, estoy tratando de hacer algunos basic, haga clic en eventos.Sé que Optimizely es sólo en jquery 1.6, por lo que el uso de on(), off() para eventos es inútil.Para asegurarse, estoy usando la más básica de controlador de eventos click(function(){ ... }));, pero incluso esto no es trabajo.Me dijeron que para el uso de la ventana.$ pero en el click() esta técnica no funciona bien.Es el jquery en Optimizely diferentes?

Sé que hay algún tipo de problema entre Optimizely y jQuery, pero por favor, ¿alguien puede arrojar de mí algo de luz sobre esto?

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

Muchos Thnaks

¿Fue útil?

Solución

Tienes un error de sintaxis en la línea 1:

(function(window.$) {

debería leer

(function($) {

Puede utilizar cualquiera de jQuery (>= 1.6) que le gusta:sólo incrustar el que usted desea, y en Optimizely Configuración -> jQuery Ajustes, seleccione "no incluir jQuery en el proyecto de código", y las cosas van a funcionar bien.Asegúrese de incluir su propio jQuery antes de la Optimizely etiqueta de secuencia de comandos, sin embargo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top