在Optimizely中,我尝试做一些基本的点击事件。我知道Optimizely只在jQuery1.6上,所以使用on()
,off()
来处理事件是没用的。为了确保这一点,我使用了最基本的事件处理程序click(function(){ ... }));
,但即使这样也不起作用。我被告知要使用windows.$,但在click()
中,这种技术也不起作用。其中的jquery有什么不同吗?
我知道Optimizely和jQuery之间有一些问题,但是有人能给我解释一下吗?
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();
许多技巧
发布于 2012-11-09 07:35:25
第1行出现语法错误:
(function(window.$) {
应该阅读
(function($) {
你可以使用任何你喜欢的jQuery (>= 1.6):只需嵌入你想要的,在Optimizely的设置-> jQuery设置中,选择"Do not include jQuery in project code",事情就会工作得很好。不过,请确保在Optimizely脚本标记之前包含您自己的jQuery。
https://stackoverflow.com/questions/12674856
复制相似问题