首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Optimizely中,基本jquery单击事件不起作用

在Optimizely中,基本jquery单击事件不起作用
EN

Stack Overflow用户
提问于 2012-10-01 22:05:27
回答 1查看 2.1K关注 0票数 0

在Optimizely中,我尝试做一些基本的点击事件。我知道Optimizely只在jQuery1.6上,所以使用on()off()来处理事件是没用的。为了确保这一点,我使用了最基本的事件处理程序click(function(){ ... }));,但即使这样也不起作用。我被告知要使用windows.$,但在click()中,这种技术也不起作用。其中的jquery有什么不同吗?

我知道Optimizely和jQuery之间有一些问题,但是有人能给我解释一下吗?

JS snippett:

代码语言:javascript
运行
复制
(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();

许多技巧

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-09 07:35:25

第1行出现语法错误:

代码语言:javascript
运行
复制
(function(window.$) {

应该阅读

代码语言:javascript
运行
复制
(function($) {

你可以使用任何你喜欢的jQuery (>= 1.6):只需嵌入你想要的,在Optimizely的设置-> jQuery设置中,选择"Do not include jQuery in project code",事情就会工作得很好。不过,请确保在Optimizely脚本标记之前包含您自己的jQuery。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12674856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档