В Optimizely базовое событие клика jquery не работает
-
12-12-2019 - |
Вопрос
В Optimizely я пытаюсь выполнить некоторые базовые события кликов.Я знаю, что Optimizely работает только на jquery 1.6, поэтому использую on()
, off()
для событий бесполезно.Чтобы убедиться, я использую самый простой обработчик событий. click(function(){ ... }));
, но даже это не работает.Мне сказали использовать window.$, но в click()
эта техника тоже не работает.Отличается ли jquery в Optimizely?
Я знаю, что между Optimizely и jQuery есть какая-то проблема, но может ли кто-нибудь пролить мне свет на этот вопрос?
JS-фрагмент:
(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();
Многие Тнаки
Решение
У вас синтаксическая ошибка в первой строке:
(function(window.$) {
должен прочесть
(function($) {
Вы можете использовать любой jQuery (>= 1.6), который вам нравится:просто вставьте тот, который вам нужен, и в настройках Optimizely -> Настройки jQuery выберите «Не включать jQuery в код проекта», и все будет работать нормально.Однако обязательно включите собственный jQuery перед тегом сценария Optimizely.