0
在Optimizely中,我試圖做一些基本的點擊事件。我知道Optimizely只在jQuery 1.6上,所以使用on()
,off()
來進行事件是毫無用處的。爲了確保,我使用的是最基本的事件處理程序click(function(){ ... }));
,但即使這樣也不起作用。我被告知使用window. $,但在click()
這種技術也不起作用。 Optimizely中的jquery是不同的?在Optimizely中,基本的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();
許多Thnaks
您正在設置一個立即調用的函數,並將'window.jQuery'傳遞給該函數,然後您要做的第一件事是*將該參數重新分配給'window。$'。這似乎很奇怪。然後,你不使用參數... – Pointy
對不起@Pointy,這是我做的一些expeirement。現在讓我更新代碼。 – Shaoz
已更新,但仍然沒有得到Optimizely,雖然... – Shaoz